| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 class IntRect; | 55 class IntRect; |
| 56 class IntSize; | 56 class IntSize; |
| 57 class LocalFrame; | 57 class LocalFrame; |
| 58 | 58 |
| 59 // Represents the visual viewport the user is currently seeing the page through. | 59 // Represents the visual viewport the user is currently seeing the page through. |
| 60 // This class corresponds to the InnerViewport on the compositor. It is a | 60 // This class corresponds to the InnerViewport on the compositor. It is a |
| 61 // ScrollableArea; it's offset is set through the GraphicsLayer <-> CC sync | 61 // ScrollableArea; it's offset is set through the GraphicsLayer <-> CC sync |
| 62 // mechanisms. Its contents is the page's main FrameView, which corresponds to | 62 // mechanisms. Its contents is the page's main FrameView, which corresponds to |
| 63 // the outer viewport. The inner viewport is always contained in the outer | 63 // the outer viewport. The inner viewport is always contained in the outer |
| 64 // viewport and can pan within it. | 64 // viewport and can pan within it. |
| 65 // |
| 66 // When attached, the tree will look like this: |
| 67 // |
| 68 // VV::m_rootTransformLayer |
| 69 // +- VV::m_innerViewportContainerLayer |
| 70 // +- VV::m_overscrollElasticityLayer |
| 71 // | +- VV::m_pageScaleLayer |
| 72 // | +- VV::m_innerViewportScrollLayer |
| 73 // | +-- PLC::m_overflowControlsHostLayer |
| 74 // | +-- PLC::m_containerLayer (fixed pos container) |
| 75 // | +-- PLC::m_scrollLayer |
| 76 // | +-- PLC::m_rootContentLayer |
| 77 // | +-- LayoutView CompositedLayerMapping layers |
| 78 // +- PageOverlay for InspectorOverlay |
| 79 // +- PageOverlay for ColorOverlay |
| 80 // +- PLC::m_layerForHorizontalScrollbar |
| 81 // +- PLC::m_layerForVerticalScrollbar |
| 82 // +- PLC::m_layerForScrollCorner (non-overlay only) |
| 83 // |
| 65 class CORE_EXPORT VisualViewport final | 84 class CORE_EXPORT VisualViewport final |
| 66 : public GarbageCollectedFinalized<VisualViewport>, | 85 : public GarbageCollectedFinalized<VisualViewport>, |
| 67 public GraphicsLayerClient, | 86 public GraphicsLayerClient, |
| 68 public ScrollableArea { | 87 public ScrollableArea { |
| 69 USING_GARBAGE_COLLECTED_MIXIN(VisualViewport); | 88 USING_GARBAGE_COLLECTED_MIXIN(VisualViewport); |
| 70 | 89 |
| 71 public: | 90 public: |
| 72 static VisualViewport* create(FrameHost& host) { | 91 static VisualViewport* create(FrameHost& host) { |
| 73 return new VisualViewport(host); | 92 return new VisualViewport(host); |
| 74 } | 93 } |
| 75 ~VisualViewport() override; | 94 ~VisualViewport() override; |
| 76 | 95 |
| 77 DECLARE_VIRTUAL_TRACE(); | 96 DECLARE_VIRTUAL_TRACE(); |
| 78 | 97 |
| 79 void attachToLayerTree(GraphicsLayer*); | 98 void createLayerTree(); |
| 99 void attachLayerTree(GraphicsLayer*); |
| 80 | 100 |
| 81 GraphicsLayer* rootGraphicsLayer() { return m_rootTransformLayer.get(); } | 101 GraphicsLayer* rootGraphicsLayer() { return m_rootTransformLayer.get(); } |
| 82 GraphicsLayer* containerLayer() { | 102 GraphicsLayer* containerLayer() { |
| 83 return m_innerViewportContainerLayer.get(); | 103 return m_innerViewportContainerLayer.get(); |
| 84 } | 104 } |
| 85 GraphicsLayer* scrollLayer() { return m_innerViewportScrollLayer.get(); } | 105 GraphicsLayer* scrollLayer() { return m_innerViewportScrollLayer.get(); } |
| 86 GraphicsLayer* pageScaleLayer() { return m_pageScaleLayer.get(); } | 106 GraphicsLayer* pageScaleLayer() { return m_pageScaleLayer.get(); } |
| 87 GraphicsLayer* overscrollElasticityLayer() { | 107 GraphicsLayer* overscrollElasticityLayer() { |
| 88 return m_overscrollElasticityLayer.get(); | 108 return m_overscrollElasticityLayer.get(); |
| 89 } | 109 } |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 float m_scale; | 285 float m_scale; |
| 266 IntSize m_size; | 286 IntSize m_size; |
| 267 float m_browserControlsAdjustment; | 287 float m_browserControlsAdjustment; |
| 268 float m_maxPageScale; | 288 float m_maxPageScale; |
| 269 bool m_trackPinchZoomStatsForPage; | 289 bool m_trackPinchZoomStatsForPage; |
| 270 }; | 290 }; |
| 271 | 291 |
| 272 } // namespace blink | 292 } // namespace blink |
| 273 | 293 |
| 274 #endif // VisualViewport_h | 294 #endif // VisualViewport_h |
| OLD | NEW |