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

Side by Side Diff: Source/web/WebViewImpl.cpp

Issue 717053002: Revert "Use expected main frame size from WebViewImpl when creating a new FrameView." (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/web/WebViewImpl.h ('k') | Source/web/tests/PinchViewportTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 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 3192 matching lines...) Expand 10 before | Expand all | Expand 10 after
3203 if (ignore) { 3203 if (ignore) {
3204 constraints.minimumScale = m_pageScaleConstraintsSet.defaultConstraints( ).minimumScale; 3204 constraints.minimumScale = m_pageScaleConstraintsSet.defaultConstraints( ).minimumScale;
3205 constraints.maximumScale = m_pageScaleConstraintsSet.defaultConstraints( ).maximumScale; 3205 constraints.maximumScale = m_pageScaleConstraintsSet.defaultConstraints( ).maximumScale;
3206 } else { 3206 } else {
3207 constraints.minimumScale = -1; 3207 constraints.minimumScale = -1;
3208 constraints.maximumScale = -1; 3208 constraints.maximumScale = -1;
3209 } 3209 }
3210 setUserAgentPageScaleConstraints(constraints); 3210 setUserAgentPageScaleConstraints(constraints);
3211 } 3211 }
3212 3212
3213 IntSize WebViewImpl::mainFrameSize() const
3214 {
3215 if (!pinchVirtualViewportEnabled())
3216 return m_size;
3217
3218 FrameView* view = page()->deprecatedLocalMainFrame()->view();
3219
3220 int contentAndScrollbarWidth = contentsSize().width();
3221
3222 if (view && view->verticalScrollbar() && !view->verticalScrollbar()->isOverl ayScrollbar())
3223 contentAndScrollbarWidth += view->verticalScrollbar()->width();
3224
3225 return m_pageScaleConstraintsSet.mainFrameSize(contentAndScrollbarWidth);
3226 }
3227
3228 void WebViewImpl::refreshPageScaleFactorAfterLayout() 3213 void WebViewImpl::refreshPageScaleFactorAfterLayout()
3229 { 3214 {
3230 if (!mainFrame() || !page() || !page()->mainFrame() || !page()->mainFrame()- >isLocalFrame() || !page()->deprecatedLocalMainFrame()->view()) 3215 if (!mainFrame() || !page() || !page()->mainFrame() || !page()->mainFrame()- >isLocalFrame() || !page()->deprecatedLocalMainFrame()->view())
3231 return; 3216 return;
3232 FrameView* view = page()->deprecatedLocalMainFrame()->view(); 3217 FrameView* view = page()->deprecatedLocalMainFrame()->view();
3233 3218
3234 updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document()->v iewportDescription()); 3219 updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document()->v iewportDescription());
3235 m_pageScaleConstraintsSet.computeFinalConstraints(); 3220 m_pageScaleConstraintsSet.computeFinalConstraints();
3236 3221
3237 if (settings()->shrinksViewportContentToFit()) { 3222 if (settings()->shrinksViewportContentToFit()) {
3238 int verticalScrollbarWidth = 0; 3223 int verticalScrollbarWidth = 0;
3239 if (view->verticalScrollbar() && !view->verticalScrollbar()->isOverlaySc rollbar()) 3224 if (view->verticalScrollbar() && !view->verticalScrollbar()->isOverlaySc rollbar())
3240 verticalScrollbarWidth = view->verticalScrollbar()->width(); 3225 verticalScrollbarWidth = view->verticalScrollbar()->width();
3241 m_pageScaleConstraintsSet.adjustFinalConstraintsToContentsSize(contentsS ize(), verticalScrollbarWidth); 3226 m_pageScaleConstraintsSet.adjustFinalConstraintsToContentsSize(contentsS ize(), verticalScrollbarWidth);
3242 } 3227 }
3243 3228
3244 if (pinchVirtualViewportEnabled()) 3229 if (pinchVirtualViewportEnabled()) {
3245 view->resize(mainFrameSize()); 3230 int contentAndScrollbarWidth = contentsSize().width();
3231 if (view->verticalScrollbar() && !view->verticalScrollbar()->isOverlaySc rollbar())
3232 contentAndScrollbarWidth += view->verticalScrollbar()->width();
3233
3234 view->resize(m_pageScaleConstraintsSet.mainFrameSize(contentAndScrollbar Width));
3235 }
3246 3236
3247 float newPageScaleFactor = pageScaleFactor(); 3237 float newPageScaleFactor = pageScaleFactor();
3248 if (m_pageScaleConstraintsSet.needsReset() && m_pageScaleConstraintsSet.fina lConstraints().initialScale != -1) { 3238 if (m_pageScaleConstraintsSet.needsReset() && m_pageScaleConstraintsSet.fina lConstraints().initialScale != -1) {
3249 newPageScaleFactor = m_pageScaleConstraintsSet.finalConstraints().initia lScale; 3239 newPageScaleFactor = m_pageScaleConstraintsSet.finalConstraints().initia lScale;
3250 m_pageScaleConstraintsSet.setNeedsReset(false); 3240 m_pageScaleConstraintsSet.setNeedsReset(false);
3251 } 3241 }
3252 setPageScaleFactor(newPageScaleFactor); 3242 setPageScaleFactor(newPageScaleFactor);
3253 3243
3254 updateLayerTreeViewport(); 3244 updateLayerTreeViewport();
3255 3245
(...skipping 1249 matching lines...) Expand 10 before | Expand all | Expand 10 after
4505 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints(); 4495 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints();
4506 4496
4507 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) 4497 if (!mainFrameImpl() || !mainFrameImpl()->frameView())
4508 return false; 4498 return false;
4509 4499
4510 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width 4500 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width
4511 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); 4501 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1);
4512 } 4502 }
4513 4503
4514 } // namespace blink 4504 } // namespace blink
OLDNEW
« no previous file with comments | « Source/web/WebViewImpl.h ('k') | Source/web/tests/PinchViewportTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698