|
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 * vim: sw=2 ts=8 et : |
|
3 */ |
|
4 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
5 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
6 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
7 |
|
8 #ifndef mozilla_layer_RenderFrameUtils_h |
|
9 #define mozilla_layer_RenderFrameUtils_h |
|
10 |
|
11 #include "ipc/IPCMessageUtils.h" |
|
12 |
|
13 namespace mozilla { |
|
14 namespace layout { |
|
15 |
|
16 enum ScrollingBehavior { |
|
17 /** |
|
18 * Use default scrolling behavior, which is synchronous: web content |
|
19 * is reflowed and repainted for every scroll or zoom. |
|
20 */ |
|
21 DEFAULT_SCROLLING, |
|
22 /** |
|
23 * Use asynchronous panning and zooming, in which prerendered |
|
24 * content can be translated and scaled independently of the thread |
|
25 * painting content, without content reflowing or repainting. |
|
26 */ |
|
27 ASYNC_PAN_ZOOM, |
|
28 SCROLLING_BEHAVIOR_SENTINEL |
|
29 }; |
|
30 |
|
31 } // namespace layout |
|
32 } // namespace mozilla |
|
33 |
|
34 namespace IPC { |
|
35 |
|
36 template <> |
|
37 struct ParamTraits<mozilla::layout::ScrollingBehavior> |
|
38 : public ContiguousEnumSerializer< |
|
39 mozilla::layout::ScrollingBehavior, |
|
40 mozilla::layout::DEFAULT_SCROLLING, |
|
41 mozilla::layout::SCROLLING_BEHAVIOR_SENTINEL> |
|
42 {}; |
|
43 |
|
44 } // namespace IPC |
|
45 |
|
46 #endif // mozilla_layer_RenderFrameUtils_h |