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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 1804023002: Fix page zoom to be frame-centric for out-of-process frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments, exclude part of test since not supported on Android. Created 4 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 { 388 {
389 IntRect oldRect = frameRect(); 389 IntRect oldRect = frameRect();
390 if (newRect == oldRect) 390 if (newRect == oldRect)
391 return; 391 return;
392 392
393 Widget::setFrameRect(newRect); 393 Widget::setFrameRect(newRect);
394 394
395 const bool frameSizeChanged = oldRect.size() != newRect.size(); 395 const bool frameSizeChanged = oldRect.size() != newRect.size();
396 396
397 m_needsScrollbarsUpdate = frameSizeChanged; 397 m_needsScrollbarsUpdate = frameSizeChanged;
398 // If layout is clean then update scrollbars immediately otherwise wait 398 // TODO(wjmaclean): find out why scrollbars fail to resize for complex
399 // for layout to ensure content size is correct too. 399 // subframes after changing the zoom level. For now always calling
400 if (!needsLayout()) 400 // updateScrollbarsIfNeeded() here fixes the issue, but it would be good to
401 updateScrollbarsIfNeeded(); 401 // discover the deeper cause of this.
402 // http://crbug.com/000000 <-- Don't land without filing this bug
403 updateScrollbarsIfNeeded();
402 404
403 frameRectsChanged(); 405 frameRectsChanged();
404 406
405 updateScrollableAreaSet(); 407 updateScrollableAreaSet();
406 408
407 if (LayoutViewItem layoutView = this->layoutViewItem()) { 409 if (LayoutViewItem layoutView = this->layoutViewItem()) {
408 // TODO(majidvp): It seems that this only needs to be called when size 410 // TODO(majidvp): It seems that this only needs to be called when size
409 // is updated ignoring any change in the location. 411 // is updated ignoring any change in the location.
410 if (layoutView.usesCompositing()) 412 if (layoutView.usesCompositing())
411 layoutView.compositor()->frameViewDidChangeSize(); 413 layoutView.compositor()->frameViewDidChangeSize();
(...skipping 3687 matching lines...) Expand 10 before | Expand all | Expand 10 after
4099 return m_hiddenForThrottling && m_crossOriginForThrottling; 4101 return m_hiddenForThrottling && m_crossOriginForThrottling;
4100 } 4102 }
4101 4103
4102 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 4104 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
4103 { 4105 {
4104 ASSERT(layoutView()); 4106 ASSERT(layoutView());
4105 return *layoutView(); 4107 return *layoutView();
4106 } 4108 }
4107 4109
4108 } // namespace blink 4110 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698