michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * vim: sw=2 ts=8 et : michael@0: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef mozilla_layer_RenderFrameUtils_h michael@0: #define mozilla_layer_RenderFrameUtils_h michael@0: michael@0: #include "ipc/IPCMessageUtils.h" michael@0: michael@0: namespace mozilla { michael@0: namespace layout { michael@0: michael@0: enum ScrollingBehavior { michael@0: /** michael@0: * Use default scrolling behavior, which is synchronous: web content michael@0: * is reflowed and repainted for every scroll or zoom. michael@0: */ michael@0: DEFAULT_SCROLLING, michael@0: /** michael@0: * Use asynchronous panning and zooming, in which prerendered michael@0: * content can be translated and scaled independently of the thread michael@0: * painting content, without content reflowing or repainting. michael@0: */ michael@0: ASYNC_PAN_ZOOM, michael@0: SCROLLING_BEHAVIOR_SENTINEL michael@0: }; michael@0: michael@0: } // namespace layout michael@0: } // namespace mozilla michael@0: michael@0: namespace IPC { michael@0: michael@0: template <> michael@0: struct ParamTraits michael@0: : public ContiguousEnumSerializer< michael@0: mozilla::layout::ScrollingBehavior, michael@0: mozilla::layout::DEFAULT_SCROLLING, michael@0: mozilla::layout::SCROLLING_BEHAVIOR_SENTINEL> michael@0: {}; michael@0: michael@0: } // namespace IPC michael@0: michael@0: #endif // mozilla_layer_RenderFrameUtils_h