OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All R
ights Reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All R
ights Reserved. |
3 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 3 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 #include "core/page/FrameTree.h" | 50 #include "core/page/FrameTree.h" |
51 #include "core/page/PageLifecycleNotifier.h" | 51 #include "core/page/PageLifecycleNotifier.h" |
52 #include "core/page/PointerLockController.h" | 52 #include "core/page/PointerLockController.h" |
53 #include "core/page/StorageClient.h" | 53 #include "core/page/StorageClient.h" |
54 #include "core/page/ValidationMessageClient.h" | 54 #include "core/page/ValidationMessageClient.h" |
55 #include "core/page/scrolling/ScrollingCoordinator.h" | 55 #include "core/page/scrolling/ScrollingCoordinator.h" |
56 #include "core/rendering/RenderLayer.h" | 56 #include "core/rendering/RenderLayer.h" |
57 #include "core/rendering/RenderView.h" | 57 #include "core/rendering/RenderView.h" |
58 #include "core/rendering/TextAutosizer.h" | 58 #include "core/rendering/TextAutosizer.h" |
59 #include "core/storage/StorageNamespace.h" | 59 #include "core/storage/StorageNamespace.h" |
| 60 #include "platform/graphics/GraphicsLayer.h" |
60 #include "platform/plugins/PluginData.h" | 61 #include "platform/plugins/PluginData.h" |
61 #include "wtf/HashMap.h" | 62 #include "wtf/HashMap.h" |
62 #include "wtf/RefCountedLeakCounter.h" | 63 #include "wtf/RefCountedLeakCounter.h" |
63 #include "wtf/StdLibExtras.h" | 64 #include "wtf/StdLibExtras.h" |
64 #include "wtf/text/Base64.h" | 65 #include "wtf/text/Base64.h" |
65 | 66 |
66 namespace blink { | 67 namespace blink { |
67 | 68 |
68 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, pageCounter, ("Page")); | 69 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, pageCounter, ("Page")); |
69 | 70 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 String Page::mainThreadScrollingReasonsAsText() | 178 String Page::mainThreadScrollingReasonsAsText() |
178 { | 179 { |
179 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator(
)) | 180 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator(
)) |
180 return scrollingCoordinator->mainThreadScrollingReasonsAsText(); | 181 return scrollingCoordinator->mainThreadScrollingReasonsAsText(); |
181 | 182 |
182 return String(); | 183 return String(); |
183 } | 184 } |
184 | 185 |
185 PassRefPtrWillBeRawPtr<ClientRectList> Page::nonFastScrollableRects(const LocalF
rame* frame) | 186 PassRefPtrWillBeRawPtr<ClientRectList> Page::nonFastScrollableRects(const LocalF
rame* frame) |
186 { | 187 { |
187 if (m_mainFrame->isLocalFrame() && deprecatedLocalMainFrame()->document()) | |
188 deprecatedLocalMainFrame()->document()->updateLayout(); | |
189 | |
190 Vector<IntRect> rects; | |
191 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator(
)) { | 188 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator(
)) { |
192 // Hits in compositing/iframes/iframe-composited-scrolling.html | 189 // Hits in compositing/iframes/iframe-composited-scrolling.html |
193 DisableCompositingQueryAsserts disabler; | 190 DisableCompositingQueryAsserts disabler; |
194 rects = scrollingCoordinator->computeShouldHandleScrollGestureOnMainThre
adRegion(frame, IntPoint()).rects(); | 191 scrollingCoordinator->updateAfterCompositingChangeIfNeeded(); |
195 } | 192 } |
196 | 193 |
| 194 // Now retain non-fast scrollable regions |
| 195 WebVector<WebRect> rects = frame->view()->layerForScrolling()->platformLayer
()->nonFastScrollableRegion(); |
197 Vector<FloatQuad> quads(rects.size()); | 196 Vector<FloatQuad> quads(rects.size()); |
198 for (size_t i = 0; i < rects.size(); ++i) | 197 for (size_t i = 0; i < rects.size(); ++i) |
199 quads[i] = FloatRect(rects[i]); | 198 quads[i] = FloatRect(rects[i]); |
200 return ClientRectList::create(quads); | 199 return ClientRectList::create(quads); |
201 } | 200 } |
202 | 201 |
203 void Page::setMainFrame(Frame* mainFrame) | 202 void Page::setMainFrame(Frame* mainFrame) |
204 { | 203 { |
205 // Should only be called during initialization or swaps between local and | 204 // Should only be called during initialization or swaps between local and |
206 // remote frames. | 205 // remote frames. |
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
637 , spellCheckerClient(nullptr) | 636 , spellCheckerClient(nullptr) |
638 , storageClient(nullptr) | 637 , storageClient(nullptr) |
639 { | 638 { |
640 } | 639 } |
641 | 640 |
642 Page::PageClients::~PageClients() | 641 Page::PageClients::~PageClients() |
643 { | 642 { |
644 } | 643 } |
645 | 644 |
646 } // namespace blink | 645 } // namespace blink |
OLD | NEW |