Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1414)

Unified Diff: Source/core/page/Page.cpp

Issue 14813025: Refactor viewport initialization logic out of WebViewImpl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix webkit_unit_tests Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/page/Page.cpp
diff --git a/Source/core/page/Page.cpp b/Source/core/page/Page.cpp
index 6df30ea7bfeeaf6d1265d91544838e4505ef8bd3..5c53b24c7180ae50e7be6ab0525c1b536d513a90 100644
--- a/Source/core/page/Page.cpp
+++ b/Source/core/page/Page.cpp
@@ -431,24 +431,25 @@ void Page::setPageScaleFactor(float scale, const IntPoint& origin)
{
FrameView* view = mainFrame()->view();
- if (scale == m_pageScaleFactor) {
- if (view && view->scrollPosition() != origin)
- view->setScrollPosition(origin);
- return;
- }
+ bool oldProgrammaticScroll = view->inProgrammaticScroll();
+ view->setInProgrammaticScroll(false);
- m_pageScaleFactor = scale;
+ if (scale != m_pageScaleFactor) {
+ m_pageScaleFactor = scale;
- if (view)
- view->setVisibleContentScaleFactor(scale);
+ if (view)
+ view->setVisibleContentScaleFactor(scale);
- mainFrame()->deviceOrPageScaleFactorChanged();
+ mainFrame()->deviceOrPageScaleFactorChanged();
- if (view)
- view->setViewportConstrainedObjectsNeedLayout();
+ if (view)
+ view->setViewportConstrainedObjectsNeedLayout();
+ }
if (view && view->scrollPosition() != origin)
- view->setScrollPosition(origin);
+ view->notifyScrollPositionChanged(origin);
+
+ view->setInProgrammaticScroll(oldProgrammaticScroll);
}
void Page::setDeviceScaleFactor(float scaleFactor)

Powered by Google App Engine
This is Rietveld 408576698