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/core/rendering/RenderView.cpp

Issue 945803004: Merge back LayoutLayerModelObject into RenderBoxModelObject (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Better rebasing. Created 5 years, 10 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 | « Source/core/rendering/RenderView.h ('k') | Source/web/LinkHighlight.h » ('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) 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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 m_pageLogicalHeightChanged = false; 221 m_pageLogicalHeightChanged = false;
222 222
223 layoutContent(); 223 layoutContent();
224 224
225 #if ENABLE(ASSERT) 225 #if ENABLE(ASSERT)
226 checkLayoutState(); 226 checkLayoutState();
227 #endif 227 #endif
228 clearNeedsLayout(); 228 clearNeedsLayout();
229 } 229 }
230 230
231 void RenderView::mapLocalToContainer(const LayoutLayerModelObject* paintInvalida tionContainer, TransformState& transformState, MapCoordinatesFlags mode, bool* w asFixed, const PaintInvalidationState* paintInvalidationState) const 231 void RenderView::mapLocalToContainer(const LayoutBoxModelObject* paintInvalidati onContainer, TransformState& transformState, MapCoordinatesFlags mode, bool* was Fixed, const PaintInvalidationState* paintInvalidationState) const
232 { 232 {
233 ASSERT_UNUSED(wasFixed, !wasFixed || *wasFixed == static_cast<bool>(mode & I sFixed)); 233 ASSERT_UNUSED(wasFixed, !wasFixed || *wasFixed == static_cast<bool>(mode & I sFixed));
234 234
235 if (!paintInvalidationContainer && mode & UseTransforms && shouldUseTransfor mFromContainer(0)) { 235 if (!paintInvalidationContainer && mode & UseTransforms && shouldUseTransfor mFromContainer(0)) {
236 TransformationMatrix t; 236 TransformationMatrix t;
237 getTransformFromContainer(0, LayoutSize(), t); 237 getTransformFromContainer(0, LayoutSize(), t);
238 transformState.applyTransform(t); 238 transformState.applyTransform(t);
239 } 239 }
240 240
241 if ((mode & IsFixed) && m_frameView) { 241 if ((mode & IsFixed) && m_frameView) {
242 transformState.move(m_frameView->scrollOffsetForViewportConstrainedObjec ts()); 242 transformState.move(m_frameView->scrollOffsetForViewportConstrainedObjec ts());
243 // IsFixed flag is only applicable within this RenderView. 243 // IsFixed flag is only applicable within this RenderView.
244 mode &= ~IsFixed; 244 mode &= ~IsFixed;
245 } 245 }
246 246
247 if (paintInvalidationContainer == this) 247 if (paintInvalidationContainer == this)
248 return; 248 return;
249 249
250 if (mode & TraverseDocumentBoundaries) { 250 if (mode & TraverseDocumentBoundaries) {
251 if (LayoutObject* parentDocRenderer = frame()->ownerRenderer()) { 251 if (LayoutObject* parentDocRenderer = frame()->ownerRenderer()) {
252 transformState.move(-frame()->view()->scrollOffset()); 252 transformState.move(-frame()->view()->scrollOffset());
253 if (parentDocRenderer->isBox()) 253 if (parentDocRenderer->isBox())
254 transformState.move(toRenderBox(parentDocRenderer)->contentBoxOf fset()); 254 transformState.move(toRenderBox(parentDocRenderer)->contentBoxOf fset());
255 parentDocRenderer->mapLocalToContainer(paintInvalidationContainer, t ransformState, mode, wasFixed, paintInvalidationState); 255 parentDocRenderer->mapLocalToContainer(paintInvalidationContainer, t ransformState, mode, wasFixed, paintInvalidationState);
256 return; 256 return;
257 } 257 }
258 } 258 }
259 } 259 }
260 260
261 const LayoutObject* RenderView::pushMappingToContainer(const LayoutLayerModelObj ect* ancestorToStopAt, LayoutGeometryMap& geometryMap) const 261 const LayoutObject* RenderView::pushMappingToContainer(const LayoutBoxModelObjec t* ancestorToStopAt, LayoutGeometryMap& geometryMap) const
262 { 262 {
263 LayoutSize offsetForFixedPosition; 263 LayoutSize offsetForFixedPosition;
264 LayoutSize offset; 264 LayoutSize offset;
265 LayoutObject* container = 0; 265 LayoutObject* container = 0;
266 266
267 if (m_frameView) 267 if (m_frameView)
268 offsetForFixedPosition = LayoutSize(m_frameView->scrollOffsetForViewport ConstrainedObjects()); 268 offsetForFixedPosition = LayoutSize(m_frameView->scrollOffsetForViewport ConstrainedObjects());
269 269
270 if (geometryMap.mapCoordinatesFlags() & TraverseDocumentBoundaries) { 270 if (geometryMap.mapCoordinatesFlags() & TraverseDocumentBoundaries) {
271 if (LayoutPart* parentDocRenderer = frame()->ownerRenderer()) { 271 if (LayoutPart* parentDocRenderer = frame()->ownerRenderer()) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 } 321 }
322 322
323 void RenderView::invalidateTreeIfNeeded(const PaintInvalidationState& paintInval idationState) 323 void RenderView::invalidateTreeIfNeeded(const PaintInvalidationState& paintInval idationState)
324 { 324 {
325 ASSERT(!needsLayout()); 325 ASSERT(!needsLayout());
326 326
327 // We specifically need to issue paint invalidations for the viewRect since other renderers 327 // We specifically need to issue paint invalidations for the viewRect since other renderers
328 // short-circuit on full-paint invalidation. 328 // short-circuit on full-paint invalidation.
329 LayoutRect dirtyRect = viewRect(); 329 LayoutRect dirtyRect = viewRect();
330 if (doingFullPaintInvalidation() && !dirtyRect.isEmpty()) { 330 if (doingFullPaintInvalidation() && !dirtyRect.isEmpty()) {
331 const LayoutLayerModelObject* paintInvalidationContainer = &paintInvalid ationState.paintInvalidationContainer(); 331 const LayoutBoxModelObject* paintInvalidationContainer = &paintInvalidat ionState.paintInvalidationContainer();
332 Layer::mapRectToPaintInvalidationBacking(this, paintInvalidationContaine r, dirtyRect, &paintInvalidationState); 332 Layer::mapRectToPaintInvalidationBacking(this, paintInvalidationContaine r, dirtyRect, &paintInvalidationState);
333 invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRect, Pai ntInvalidationFull); 333 invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRect, Pai ntInvalidationFull);
334 } 334 }
335 RenderBlock::invalidateTreeIfNeeded(paintInvalidationState); 335 RenderBlock::invalidateTreeIfNeeded(paintInvalidationState);
336 } 336 }
337 337
338 void RenderView::invalidatePaintForRectangle(const LayoutRect& paintInvalidation Rect, PaintInvalidationReason invalidationReason) const 338 void RenderView::invalidatePaintForRectangle(const LayoutRect& paintInvalidation Rect, PaintInvalidationReason invalidationReason) const
339 { 339 {
340 ASSERT(!paintInvalidationRect.isEmpty()); 340 ASSERT(!paintInvalidationRect.isEmpty());
341 341
(...skipping 13 matching lines...) Expand all
355 { 355 {
356 setShouldDoFullPaintInvalidation(); 356 setShouldDoFullPaintInvalidation();
357 357
358 // The only way we know how to hit these ASSERTS below this point is via the Chromium OS login screen. 358 // The only way we know how to hit these ASSERTS below this point is via the Chromium OS login screen.
359 DisableCompositingQueryAsserts disabler; 359 DisableCompositingQueryAsserts disabler;
360 360
361 if (compositor()->inCompositingMode()) 361 if (compositor()->inCompositingMode())
362 compositor()->fullyInvalidatePaint(); 362 compositor()->fullyInvalidatePaint();
363 } 363 }
364 364
365 void RenderView::mapRectToPaintInvalidationBacking(const LayoutLayerModelObject* paintInvalidationContainer, LayoutRect& rect, const PaintInvalidationState* inv alidationState) const 365 void RenderView::mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* p aintInvalidationContainer, LayoutRect& rect, const PaintInvalidationState* inval idationState) const
366 { 366 {
367 mapRectToPaintInvalidationBacking(paintInvalidationContainer, rect, IsNotFix edPosition, invalidationState); 367 mapRectToPaintInvalidationBacking(paintInvalidationContainer, rect, IsNotFix edPosition, invalidationState);
368 } 368 }
369 369
370 void RenderView::mapRectToPaintInvalidationBacking(const LayoutLayerModelObject* paintInvalidationContainer, LayoutRect& rect, ViewportConstrainedPosition viewp ortConstraint, const PaintInvalidationState* state) const 370 void RenderView::mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* p aintInvalidationContainer, LayoutRect& rect, ViewportConstrainedPosition viewpor tConstraint, const PaintInvalidationState* state) const
371 { 371 {
372 if (document().printing()) 372 if (document().printing())
373 return; 373 return;
374 374
375 if (style()->isFlippedBlocksWritingMode()) { 375 if (style()->isFlippedBlocksWritingMode()) {
376 // We have to flip by hand since the view's logical height has not been determined. We 376 // We have to flip by hand since the view's logical height has not been determined. We
377 // can use the viewport width and height. 377 // can use the viewport width and height.
378 if (style()->isHorizontalWritingMode()) 378 if (style()->isHorizontalWritingMode())
379 rect.setY(viewHeight() - rect.maxY()); 379 rect.setY(viewHeight() - rect.maxY());
380 else 380 else
(...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 } 983 }
984 984
985 void RenderView::invalidateDisplayItemClients(DisplayItemList* displayItemList) const 985 void RenderView::invalidateDisplayItemClients(DisplayItemList* displayItemList) const
986 { 986 {
987 RenderBlockFlow::invalidateDisplayItemClients(displayItemList); 987 RenderBlockFlow::invalidateDisplayItemClients(displayItemList);
988 if (m_frameView) 988 if (m_frameView)
989 displayItemList->invalidate(m_frameView->displayItemClient()); 989 displayItemList->invalidate(m_frameView->displayItemClient());
990 } 990 }
991 991
992 } // namespace blink 992 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderView.h ('k') | Source/web/LinkHighlight.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698