layout/ipc/RenderFrameUtils.h
author Mike Shal <mshal@mozilla.com>
Tue, 19 Mar 2013 11:47:00 -0700
changeset 125513 97e443115162450609702fc72c99b6d88d8703d6
parent 99892 19b28e14df61d51ff1666b1a64ca44a26e093231
child 148369 793b9afc6332ebcb37278c9aff9eec7852e46e90
permissions -rw-r--r--
Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * vim: sw=2 ts=8 et :
 */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef mozilla_layer_RenderFrameUtils_h
#define mozilla_layer_RenderFrameUtils_h

namespace mozilla {
namespace layout {

enum ScrollingBehavior {
  /**
   * Use default scrolling behavior, which is synchronous: web content
   * is reflowed and repainted for every scroll or zoom.
   */
  DEFAULT_SCROLLING,
  /**
   * Use asynchronous panning and zooming, in which prerendered
   * content can be translated and scaled independently of the thread
   * painting content, without content reflowing or repainting.
   */
  ASYNC_PAN_ZOOM,
  SCROLLING_BEHAVIOR_SENTINEL
};

} // namespace layout
} // namespace mozilla

namespace IPC {

template <>
struct ParamTraits<mozilla::layout::ScrollingBehavior>
  : public EnumSerializer<mozilla::layout::ScrollingBehavior,
                          mozilla::layout::DEFAULT_SCROLLING,
                          mozilla::layout::SCROLLING_BEHAVIOR_SENTINEL>
{};

} // namespace IPC

#endif // mozilla_layer_RenderFrameUtils_h