Changeset 126498 in webkit
- Timestamp:
- Aug 23, 2012 4:14:21 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/Platform/ChangeLog
r126378 r126498 1 2012-08-22 James Robinson <jamesr@chromium.org> 2 3 [chromium] Remove WebLayer::setChildren API 4 https://bugs.webkit.org/show_bug.cgi?id=94749 5 6 Reviewed by Adrienne Walker. 7 8 This is redundant with removeAllChildren() / addChild() and less efficient. 9 10 * chromium/public/WebLayer.h: 11 (WebLayer): 12 1 13 2012-08-22 James Robinson <jamesr@chromium.org> 2 14 -
trunk/Source/Platform/chromium/public/WebLayer.h
r126378 r126498 68 68 virtual void insertChild(WebLayer*, size_t index) = 0; 69 69 virtual void replaceChild(WebLayer* reference, WebLayer* newLayer) = 0; 70 virtual void setChildren(const WebVector<WebLayer*>&) = 0;71 70 virtual void removeFromParent() = 0; 72 71 virtual void removeAllChildren() = 0; -
trunk/Source/WebCore/ChangeLog
r126496 r126498 1 2012-08-22 James Robinson <jamesr@chromium.org> 2 3 [chromium] Remove WebLayer::setChildren API 4 https://bugs.webkit.org/show_bug.cgi?id=94749 5 6 Reviewed by Adrienne Walker. 7 8 Sets up the child list directly instead of building an intermediate buffer. Covered by compositing/* 9 10 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 11 (WebCore::GraphicsLayerChromium::updateChildList): 12 1 13 2012-08-23 Dominic Mazzoni <dmazzoni@google.com> 2 14 -
trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
r126378 r126498 598 598 void GraphicsLayerChromium::updateChildList() 599 599 { 600 Vector<WebLayer*> newChildren; 600 WebLayer* childHost = m_transformLayer ? m_transformLayer.get() : m_layer->layer(); 601 childHost->removeAllChildren(); 601 602 602 603 if (m_transformLayer) { 603 604 // Add the primary layer first. Even if we have negative z-order children, the primary layer always comes behind. 604 newChildren.append(m_layer->layer());605 childHost->addChild(m_layer->layer()); 605 606 } else if (m_contentsLayer) { 606 607 // FIXME: add the contents layer in the correct order with negative z-order children. 607 608 // This does not cause visible rendering issues because currently contents layers are only used 608 609 // for replaced elements that don't have children. 609 newChildren.append(m_contentsLayer);610 childHost->addChild(m_contentsLayer); 610 611 } 611 612 … … 615 616 GraphicsLayerChromium* curChild = static_cast<GraphicsLayerChromium*>(childLayers[i]); 616 617 617 newChildren.append(curChild->platformLayer());618 childHost->addChild(curChild->platformLayer()); 618 619 } 619 620 620 621 if (m_linkHighlight) 621 newChildren.append(m_linkHighlight->layer()); 622 623 for (size_t i = 0; i < newChildren.size(); ++i) 624 newChildren[i]->removeFromParent(); 625 626 WebVector<WebLayer*> newWebChildren; 627 newWebChildren.assign(newChildren.data(), newChildren.size()); 628 629 if (m_transformLayer) { 630 m_transformLayer->setChildren(newWebChildren); 631 632 if (m_contentsLayer) { 633 // If we have a transform layer, then the contents layer is parented in the 634 // primary layer (which is itself a child of the transform layer). 635 m_layer->layer()->removeAllChildren(); 636 m_layer->layer()->addChild(m_contentsLayer); 637 } 638 } else 639 m_layer->layer()->setChildren(newWebChildren); 622 childHost->addChild(m_linkHighlight->layer()); 623 624 if (m_transformLayer && m_contentsLayer) { 625 // If we have a transform layer, then the contents layer is parented in the 626 // primary layer (which is itself a child of the transform layer). 627 m_layer->layer()->removeAllChildren(); 628 m_layer->layer()->addChild(m_contentsLayer); 629 } 640 630 } 641 631 -
trunk/Source/WebKit/chromium/ChangeLog
r126482 r126498 1 2012-08-22 James Robinson <jamesr@chromium.org> 2 3 [chromium] Remove WebLayer::setChildren API 4 https://bugs.webkit.org/show_bug.cgi?id=94749 5 6 Reviewed by Adrienne Walker. 7 8 * src/WebLayer.cpp: 9 1 10 2012-08-23 Dana Jansens <danakj@chromium.org> 2 11 -
trunk/Source/WebKit/chromium/src/WebLayerImpl.cpp
r126378 r126498 124 124 } 125 125 126 void WebLayerImpl::setChildren(const WebVector<WebLayer*>& webChildren)127 {128 Vector<RefPtr<LayerChromium> > children(webChildren.size());129 for (size_t i = 0; i < webChildren.size(); ++i)130 children[i] = static_cast<WebLayerImpl*>(webChildren[i])->layer();131 m_layer->setChildren(children);132 }133 134 126 void WebLayerImpl::removeFromParent() 135 127 { -
trunk/Source/WebKit/chromium/src/WebLayerImpl.h
r126378 r126498 48 48 virtual void insertChild(WebLayer*, size_t index) OVERRIDE; 49 49 virtual void replaceChild(WebLayer* reference, WebLayer* newLayer) OVERRIDE; 50 virtual void setChildren(const WebVector<WebLayer*>&) OVERRIDE;51 50 virtual void removeFromParent() OVERRIDE; 52 51 virtual void removeAllChildren() OVERRIDE;
Note: See TracChangeset
for help on using the changeset viewer.