Index: third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp |
diff --git a/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp |
index 4810ed825f3ea373fa9b49eea1ac1dfe4337c79a..9d7afb28247427f0d824cd94709d224b747e1abf 100644 |
--- a/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp |
+++ b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp |
@@ -911,12 +911,12 @@ int LocalDOMWindow::outerHeight() const { |
if (!frame()) |
return 0; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return 0; |
- ChromeClient& chromeClient = host->chromeClient(); |
- if (host->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
+ ChromeClient& chromeClient = page->chromeClient(); |
+ if (page->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
return lroundf(chromeClient.rootWindowRect().height() * |
chromeClient.screenInfo().deviceScaleFactor); |
return chromeClient.rootWindowRect().height(); |
@@ -926,12 +926,12 @@ int LocalDOMWindow::outerWidth() const { |
if (!frame()) |
return 0; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return 0; |
- ChromeClient& chromeClient = host->chromeClient(); |
- if (host->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
+ ChromeClient& chromeClient = page->chromeClient(); |
+ if (page->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
return lroundf(chromeClient.rootWindowRect().width() * |
chromeClient.screenInfo().deviceScaleFactor); |
@@ -947,15 +947,19 @@ FloatSize LocalDOMWindow::getViewportSize( |
if (!view) |
return FloatSize(); |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return FloatSize(); |
+ // If we have a Page, we must have a FrameHost. |
+ FrameHost* host = frame()->host(); |
+ DCHECK(host); |
+ |
// The main frame's viewport size depends on the page scale. Since the |
// initial page scale depends on the content width and is set after a |
// layout, perform one now so queries during page load will use the up to |
// date viewport. |
- if (host->settings().getViewportEnabled() && frame()->isMainFrame()) |
+ if (page->settings().getViewportEnabled() && frame()->isMainFrame()) |
document()->updateStyleAndLayoutIgnorePendingStylesheets(); |
// FIXME: This is potentially too much work. We really only need to know the |
@@ -967,7 +971,7 @@ FloatSize LocalDOMWindow::getViewportSize( |
->updateStyleAndLayoutIgnorePendingStylesheets(); |
} |
- return frame()->isMainFrame() && !host->settings().getInertVisualViewport() |
+ return frame()->isMainFrame() && !page->settings().getInertVisualViewport() |
? FloatSize(host->visualViewport().visibleRect().size()) |
: FloatSize(view->visibleContentRect(scrollbarInclusion).size()); |
} |
@@ -994,12 +998,12 @@ int LocalDOMWindow::screenX() const { |
if (!frame()) |
return 0; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return 0; |
- ChromeClient& chromeClient = host->chromeClient(); |
- if (host->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
+ ChromeClient& chromeClient = page->chromeClient(); |
+ if (page->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
return lroundf(chromeClient.rootWindowRect().x() * |
chromeClient.screenInfo().deviceScaleFactor); |
return chromeClient.rootWindowRect().x(); |
@@ -1009,22 +1013,22 @@ int LocalDOMWindow::screenY() const { |
if (!frame()) |
return 0; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return 0; |
- ChromeClient& chromeClient = host->chromeClient(); |
- if (host->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
+ ChromeClient& chromeClient = page->chromeClient(); |
+ if (page->settings().getReportScreenSizeInPhysicalPixelsQuirk()) |
return lroundf(chromeClient.rootWindowRect().y() * |
chromeClient.screenInfo().deviceScaleFactor); |
return chromeClient.rootWindowRect().y(); |
} |
double LocalDOMWindow::scrollX() const { |
- if (!frame() || !frame()->host()) |
+ if (!frame() || !frame()->page()) |
return 0; |
- if (!frame()->host()->settings().getInertVisualViewport()) |
+ if (!frame()->page()->settings().getInertVisualViewport()) |
return m_visualViewport->pageX(); |
FrameView* view = frame()->view(); |
@@ -1039,10 +1043,10 @@ double LocalDOMWindow::scrollX() const { |
} |
double LocalDOMWindow::scrollY() const { |
- if (!frame() || !frame()->host()) |
+ if (!frame() || !frame()->page()) |
return 0; |
- if (!frame()->host()->settings().getInertVisualViewport()) |
+ if (!frame()->page()->settings().getInertVisualViewport()) |
return m_visualViewport->pageY(); |
FrameView* view = frame()->view(); |
@@ -1167,14 +1171,14 @@ void LocalDOMWindow::scrollBy(double x, |
if (!view) |
return; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return; |
x = ScrollableArea::normalizeNonFiniteScroll(x); |
y = ScrollableArea::normalizeNonFiniteScroll(y); |
- ScrollableArea* viewport = host->settings().getInertVisualViewport() |
+ ScrollableArea* viewport = page->settings().getInertVisualViewport() |
? view->layoutViewportScrollableArea() |
: view->getScrollableArea(); |
@@ -1207,8 +1211,8 @@ void LocalDOMWindow::scrollTo(double x, double y) const { |
if (!view) |
return; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return; |
x = ScrollableArea::normalizeNonFiniteScroll(x); |
@@ -1221,7 +1225,7 @@ void LocalDOMWindow::scrollTo(double x, double y) const { |
ScrollOffset layoutOffset(x * frame()->pageZoomFactor(), |
y * frame()->pageZoomFactor()); |
- ScrollableArea* viewport = host->settings().getInertVisualViewport() |
+ ScrollableArea* viewport = page->settings().getInertVisualViewport() |
? view->layoutViewportScrollableArea() |
: view->getScrollableArea(); |
viewport->setScrollOffset(layoutOffset, ProgrammaticScroll, |
@@ -1236,8 +1240,8 @@ void LocalDOMWindow::scrollTo(const ScrollToOptions& scrollToOptions) const { |
if (!view) |
return; |
- FrameHost* host = frame()->host(); |
- if (!host) |
+ Page* page = frame()->page(); |
+ if (!page) |
return; |
// It is only necessary to have an up-to-date layout if the position may be |
@@ -1250,7 +1254,7 @@ void LocalDOMWindow::scrollTo(const ScrollToOptions& scrollToOptions) const { |
double scaledX = 0.0; |
double scaledY = 0.0; |
- ScrollableArea* viewport = host->settings().getInertVisualViewport() |
+ ScrollableArea* viewport = page->settings().getInertVisualViewport() |
? view->layoutViewportScrollableArea() |
: view->getScrollableArea(); |