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

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

Issue 233063004: Suppress layer creation for descendants of GPU-rasterized layers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Move assert disabler in ~CompositedLayerMapping Created 6 years, 8 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1834 matching lines...) Expand 10 before | Expand all | Expand 10 after
1845 RenderBlock* block = toRenderBlock(parent())->createAnonymousBlock() ; 1845 RenderBlock* block = toRenderBlock(parent())->createAnonymousBlock() ;
1846 RenderObjectChildList* childlist = parent()->virtualChildren(); 1846 RenderObjectChildList* childlist = parent()->virtualChildren();
1847 childlist->insertChildNode(parent(), block, this); 1847 childlist->insertChildNode(parent(), block, this);
1848 block->children()->appendChildNode(block, childlist->removeChildNode (parent(), this)); 1848 block->children()->appendChildNode(block, childlist->removeChildNode (parent(), this));
1849 } 1849 }
1850 } 1850 }
1851 } 1851 }
1852 1852
1853 StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign ed contextSensitiveProperties) const 1853 StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign ed contextSensitiveProperties) const
1854 { 1854 {
1855 // FIXME: The calls to hasDirectReasonsForCompositing are using state that m ay not be up to date.
1856 DisableCompositingQueryAsserts disabler;
1855 // If transform changed, and the layer does not paint into its own separate backing, then we need to do a layout. 1857 // If transform changed, and the layer does not paint into its own separate backing, then we need to do a layout.
1856 // FIXME: The comment above is what the code does, but it is technically not following spec. This means we will 1858 // FIXME: The comment above is what the code does, but it is technically not following spec. This means we will
1857 // not to layout for 3d transforms, but we should be invoking a simplified r elayout. Is it possible we are avoiding 1859 // not to layout for 3d transforms, but we should be invoking a simplified r elayout. Is it possible we are avoiding
1858 // doing this for some performance reason at this time? 1860 // doing this for some performance reason at this time?
1859 if (contextSensitiveProperties & ContextSensitivePropertyTransform) { 1861 if (contextSensitiveProperties & ContextSensitivePropertyTransform) {
1860 // Text nodes share style with their parents but transforms don't apply to them, 1862 // Text nodes share style with their parents but transforms don't apply to them,
1861 // hence the !isText() check. 1863 // hence the !isText() check.
1862 // FIXME: when transforms are taken into account for overflow, we will n eed to do a layout. 1864 // FIXME: when transforms are taken into account for overflow, we will n eed to do a layout.
1863 if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer( )->hasDirectReasonsForCompositing())) { 1865 if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer( )->hasDirectReasonsForCompositing())) {
1864 // We need to set at least SimplifiedLayout, but if PositionedMoveme ntOnly is already set 1866 // We need to set at least SimplifiedLayout, but if PositionedMoveme ntOnly is already set
(...skipping 1522 matching lines...) Expand 10 before | Expand all | Expand 10 after
3387 { 3389 {
3388 if (object1) { 3390 if (object1) {
3389 const WebCore::RenderObject* root = object1; 3391 const WebCore::RenderObject* root = object1;
3390 while (root->parent()) 3392 while (root->parent())
3391 root = root->parent(); 3393 root = root->parent();
3392 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3394 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3393 } 3395 }
3394 } 3396 }
3395 3397
3396 #endif 3398 #endif
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayerScrollableArea.cpp ('k') | Source/core/rendering/compositing/CompositedLayerMapping.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698