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

Side by Side Diff: Source/core/rendering/RenderView.cpp

Issue 293063016: Exclude cases of full repaint on viewport height change (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « LayoutTests/fast/repaint/window-resize-fixed-center-background-image-expected.txt ('k') | no next file » | 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
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 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 // Otherwise, per-descendant repaint is more likely to avoid unnecessary ful l repaints. 194 // Otherwise, per-descendant repaint is more likely to avoid unnecessary ful l repaints.
195 195
196 if (shouldUsePrintingLayout()) 196 if (shouldUsePrintingLayout())
197 return true; 197 return true;
198 198
199 if (!style()->isHorizontalWritingMode() || width() != viewWidth()) 199 if (!style()->isHorizontalWritingMode() || width() != viewWidth())
200 return true; 200 return true;
201 201
202 if (height() != viewHeight()) { 202 if (height() != viewHeight()) {
203 if (RenderObject* backgroundRenderer = this->backgroundRenderer()) { 203 if (RenderObject* backgroundRenderer = this->backgroundRenderer()) {
204 if (backgroundRenderer->mustRepaintFillLayersOnHeightChange(*backgro undRenderer->style()->backgroundLayers())) 204 // When background-attachment is 'fixed', we treat the viewport (ins tead of the 'root'
205 // i.e. html or body) as the background positioning area, and we sho uld full repaint
206 // viewport resize if the background image is not composited and nee ds full repaint on
207 // background positioning area resize.
208 if (!m_compositor || !m_compositor->needsFixedRootBackgroundLayer(la yer())) {
209 if (backgroundRenderer->style()->hasFixedBackgroundImage()
210 && mustRepaintFillLayersOnHeightChange(*backgroundRenderer-> style()->backgroundLayers()))
205 return true; 211 return true;
212 }
206 } 213 }
207 } 214 }
208 215
209 return false; 216 return false;
210 } 217 }
211 218
212 void RenderView::layout() 219 void RenderView::layout()
213 { 220 {
214 if (!document().paginated()) 221 if (!document().paginated())
215 setPageLogicalHeight(0); 222 setPageLogicalHeight(0);
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 return viewWidth(IncludeScrollbars) / scale; 1000 return viewWidth(IncludeScrollbars) / scale;
994 } 1001 }
995 1002
996 double RenderView::layoutViewportHeight() const 1003 double RenderView::layoutViewportHeight() const
997 { 1004 {
998 float scale = m_frameView ? m_frameView->frame().pageZoomFactor() : 1; 1005 float scale = m_frameView ? m_frameView->frame().pageZoomFactor() : 1;
999 return viewHeight(IncludeScrollbars) / scale; 1006 return viewHeight(IncludeScrollbars) / scale;
1000 } 1007 }
1001 1008
1002 } // namespace WebCore 1009 } // namespace WebCore
OLDNEW
« no previous file with comments | « LayoutTests/fast/repaint/window-resize-fixed-center-background-image-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698