| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 #include "core/rendering/RenderEmbeddedObject.h" | 52 #include "core/rendering/RenderEmbeddedObject.h" |
| 53 #include "core/rendering/RenderFullScreen.h" | 53 #include "core/rendering/RenderFullScreen.h" |
| 54 #include "core/rendering/RenderGeometryMap.h" | 54 #include "core/rendering/RenderGeometryMap.h" |
| 55 #include "core/rendering/RenderIFrame.h" | 55 #include "core/rendering/RenderIFrame.h" |
| 56 #include "core/rendering/RenderLayerStackingNode.h" | 56 #include "core/rendering/RenderLayerStackingNode.h" |
| 57 #include "core/rendering/RenderLayerStackingNodeIterator.h" | 57 #include "core/rendering/RenderLayerStackingNodeIterator.h" |
| 58 #include "core/rendering/RenderReplica.h" | 58 #include "core/rendering/RenderReplica.h" |
| 59 #include "core/rendering/RenderVideo.h" | 59 #include "core/rendering/RenderVideo.h" |
| 60 #include "core/rendering/RenderView.h" | 60 #include "core/rendering/RenderView.h" |
| 61 #include "core/rendering/compositing/CompositedLayerMapping.h" | 61 #include "core/rendering/compositing/CompositedLayerMapping.h" |
| 62 #include "core/rendering/compositing/GraphicsLayerUpdater.h" |
| 62 #include "platform/OverscrollTheme.h" | 63 #include "platform/OverscrollTheme.h" |
| 63 #include "platform/TraceEvent.h" | 64 #include "platform/TraceEvent.h" |
| 64 #include "platform/geometry/TransformState.h" | 65 #include "platform/geometry/TransformState.h" |
| 65 #include "platform/graphics/GraphicsLayer.h" | 66 #include "platform/graphics/GraphicsLayer.h" |
| 66 #include "platform/scroll/ScrollbarTheme.h" | 67 #include "platform/scroll/ScrollbarTheme.h" |
| 67 #include "public/platform/Platform.h" | 68 #include "public/platform/Platform.h" |
| 68 #include "wtf/TemporaryChange.h" | 69 #include "wtf/TemporaryChange.h" |
| 69 | 70 |
| 70 #ifndef NDEBUG | 71 #ifndef NDEBUG |
| 71 #include "core/rendering/RenderTreeAsText.h" | 72 #include "core/rendering/RenderTreeAsText.h" |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 | 466 |
| 466 { | 467 { |
| 467 TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::updateHasVis
ibleNonLayerContentLoop"); | 468 TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::updateHasVis
ibleNonLayerContentLoop"); |
| 468 const FrameView::ScrollableAreaSet* scrollableAreas = m_renderView->
frameView()->scrollableAreas(); | 469 const FrameView::ScrollableAreaSet* scrollableAreas = m_renderView->
frameView()->scrollableAreas(); |
| 469 if (scrollableAreas) { | 470 if (scrollableAreas) { |
| 470 for (FrameView::ScrollableAreaSet::iterator it = scrollableAreas
->begin(); it != scrollableAreas->end(); ++it) | 471 for (FrameView::ScrollableAreaSet::iterator it = scrollableAreas
->begin(); it != scrollableAreas->end(); ++it) |
| 471 (*it)->updateHasVisibleNonLayerContent(); | 472 (*it)->updateHasVisibleNonLayerContent(); |
| 472 } | 473 } |
| 473 } | 474 } |
| 474 | 475 |
| 475 needHierarchyAndGeometryUpdate |= layersChanged; | 476 if (layersChanged) |
| 477 needHierarchyAndGeometryUpdate = true; |
| 476 } | 478 } |
| 477 | 479 |
| 478 if (needHierarchyAndGeometryUpdate) { | 480 if (needHierarchyAndGeometryUpdate) { |
| 479 // Update the hierarchy of the compositing layers. | 481 // Update the hierarchy of the compositing layers. |
| 480 Vector<GraphicsLayer*> childList; | 482 Vector<GraphicsLayer*> childList; |
| 481 { | 483 { |
| 482 TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::rebuildCompo
sitingLayerTree"); | 484 TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::rebuildTree")
; |
| 483 rebuildCompositingLayerTree(updateRoot, childList, 0); | 485 GraphicsLayerUpdater(*m_renderView).rebuildTree(*updateRoot, childLi
st, 0); |
| 484 } | 486 } |
| 485 | 487 |
| 486 // Host the document layer in the RenderView's root layer. | 488 // Host the document layer in the RenderView's root layer. |
| 487 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled() && isMainFra
me()) { | 489 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled() && isMainFra
me()) { |
| 488 RenderVideo* video = findFullscreenVideoRenderer(m_renderView->docum
ent()); | 490 RenderVideo* video = findFullscreenVideoRenderer(m_renderView->docum
ent()); |
| 489 if (video && video->hasCompositedLayerMapping()) { | 491 if (video && video->hasCompositedLayerMapping()) { |
| 490 childList.clear(); | 492 childList.clear(); |
| 491 childList.append(video->compositedLayerMapping()->mainGraphicsLa
yer()); | 493 childList.append(video->compositedLayerMapping()->mainGraphicsLa
yer()); |
| 492 } | 494 } |
| 493 } | 495 } |
| 494 | 496 |
| 495 if (childList.isEmpty()) | 497 if (childList.isEmpty()) |
| 496 destroyRootLayer(); | 498 destroyRootLayer(); |
| 497 else | 499 else |
| 498 m_rootContentLayer->setChildren(childList); | 500 m_rootContentLayer->setChildren(childList); |
| 499 } else if (needGeometryUpdate) { | 501 } else if (needGeometryUpdate) { |
| 500 // We just need to do a geometry update. This is only used for position:
fixed scrolling; | 502 // We just need to do a geometry update. This is only used for position:
fixed scrolling; |
| 501 // most of the time, geometry is updated via RenderLayer::styleChanged()
. | 503 // most of the time, geometry is updated via RenderLayer::styleChanged()
. |
| 502 TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::updateLayerTreeG
eometry"); | 504 TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::updateRecursive")
; |
| 503 updateLayerTreeGeometry(updateRoot); | 505 GraphicsLayerUpdater(*m_renderView).updateRecursive(*updateRoot); |
| 504 } | 506 } |
| 505 | 507 |
| 506 ASSERT(updateRoot || !m_compositingLayersNeedRebuild); | 508 ASSERT(updateRoot || !m_compositingLayersNeedRebuild); |
| 507 | 509 |
| 508 if (!hasAcceleratedCompositing()) | 510 if (!hasAcceleratedCompositing()) |
| 509 enableCompositingMode(false); | 511 enableCompositingMode(false); |
| 510 | 512 |
| 511 // The scrolling coordinator may realize that it needs updating while compos
iting was being updated in this function. | 513 // The scrolling coordinator may realize that it needs updating while compos
iting was being updated in this function. |
| 512 needsToUpdateScrollingCoordinator |= scrollingCoordinator() ? scrollingCoord
inator()->needsToUpdateAfterCompositingChange() : false; | 514 needsToUpdateScrollingCoordinator |= scrollingCoordinator() ? scrollingCoord
inator()->needsToUpdateAfterCompositingChange() : false; |
| 513 if (needsToUpdateScrollingCoordinator && isMainFrame() && scrollingCoordinat
or() && inCompositingMode()) | 515 if (needsToUpdateScrollingCoordinator && isMainFrame() && scrollingCoordinat
or() && inCompositingMode()) |
| (...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1270 } | 1272 } |
| 1271 | 1273 |
| 1272 void RenderLayerCompositor::removeCompositedChildren(RenderLayer* layer) | 1274 void RenderLayerCompositor::removeCompositedChildren(RenderLayer* layer) |
| 1273 { | 1275 { |
| 1274 ASSERT(layer->hasCompositedLayerMapping()); | 1276 ASSERT(layer->hasCompositedLayerMapping()); |
| 1275 | 1277 |
| 1276 GraphicsLayer* hostingLayer = layer->compositedLayerMapping()->parentForSubl
ayers(); | 1278 GraphicsLayer* hostingLayer = layer->compositedLayerMapping()->parentForSubl
ayers(); |
| 1277 hostingLayer->removeAllChildren(); | 1279 hostingLayer->removeAllChildren(); |
| 1278 } | 1280 } |
| 1279 | 1281 |
| 1280 void RenderLayerCompositor::updateGraphicsLayersMappedToRenderLayer(RenderLayer*
layer) | |
| 1281 { | |
| 1282 if (!layer->hasCompositedLayerMapping()) | |
| 1283 return; | |
| 1284 | |
| 1285 CompositedLayerMappingPtr compositedLayerMapping = layer->compositedLayerMap
ping(); | |
| 1286 | |
| 1287 // Note carefully: here we assume that the compositing state of all descenda
nts have been updated already, | |
| 1288 // so it is legitimate to compute and cache the composited bounds for this l
ayer. | |
| 1289 compositedLayerMapping->updateCompositedBounds(); | |
| 1290 | |
| 1291 if (layer->reflectionInfo()) { | |
| 1292 RenderLayer* reflectionLayer = layer->reflectionInfo()->reflectionLayer(
); | |
| 1293 ASSERT(reflectionLayer); | |
| 1294 if (reflectionLayer->hasCompositedLayerMapping()) | |
| 1295 reflectionLayer->compositedLayerMapping()->updateCompositedBounds(); | |
| 1296 } | |
| 1297 | |
| 1298 compositedLayerMapping->updateGraphicsLayerConfiguration(); | |
| 1299 compositedLayerMapping->updateGraphicsLayerGeometry(); | |
| 1300 | |
| 1301 if (!layer->parent()) | |
| 1302 updateRootLayerPosition(); | |
| 1303 | |
| 1304 if (compositedLayerMapping->hasUnpositionedOverflowControlsLayers()) | |
| 1305 layer->scrollableArea()->positionOverflowControls(); | |
| 1306 } | |
| 1307 | |
| 1308 void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, Vect
or<GraphicsLayer*>& childLayersOfEnclosingLayer, int depth) | |
| 1309 { | |
| 1310 // Make the layer compositing if necessary, and set up clipping and content
layers. | |
| 1311 // Note that we can only do work here that is independent of whether the des
cendant layers | |
| 1312 // have been processed. computeCompositingRequirements() will already have d
one the repaint if necessary. | |
| 1313 | |
| 1314 layer->stackingNode()->updateLayerListsIfNeeded(); | |
| 1315 layer->update3dRenderingContext(); | |
| 1316 | |
| 1317 // Used for gathering UMA data about the effect on memory usage of promoting
all layers | |
| 1318 // that have a webkit-transition on opacity or transform and intersect the v
iewport. | |
| 1319 static double pixelsWithoutPromotingAllTransitions = 0.0; | |
| 1320 static double pixelsAddedByPromotingAllTransitions = 0.0; | |
| 1321 | |
| 1322 if (!depth) { | |
| 1323 pixelsWithoutPromotingAllTransitions = 0.0; | |
| 1324 pixelsAddedByPromotingAllTransitions = 0.0; | |
| 1325 } | |
| 1326 | |
| 1327 const bool hasCompositedLayerMapping = layer->hasCompositedLayerMapping(); | |
| 1328 CompositedLayerMappingPtr currentCompositedLayerMapping = layer->compositedL
ayerMapping(); | |
| 1329 | |
| 1330 updateGraphicsLayersMappedToRenderLayer(layer); | |
| 1331 | |
| 1332 // Grab some stats for histograms. | |
| 1333 if (hasCompositedLayerMapping) { | |
| 1334 pixelsWithoutPromotingAllTransitions += layer->size().height() * layer->
size().width(); | |
| 1335 } else { | |
| 1336 if ((layer->renderer()->style()->transitionForProperty(CSSPropertyOpacit
y) || | |
| 1337 layer->renderer()->style()->transitionForProperty(CSSPropertyWebkit
Transform)) && | |
| 1338 m_renderView->viewRect().intersects(layer->absoluteBoundingBox())) | |
| 1339 pixelsAddedByPromotingAllTransitions += layer->size().height() * lay
er->size().width(); | |
| 1340 } | |
| 1341 | |
| 1342 // If this layer has a compositedLayerMapping, then that is where we place s
ubsequent children GraphicsLayers. | |
| 1343 // Otherwise children continue to append to the child list of the enclosing
layer. | |
| 1344 Vector<GraphicsLayer*> layerChildren; | |
| 1345 Vector<GraphicsLayer*>& childList = hasCompositedLayerMapping ? layerChildre
n : childLayersOfEnclosingLayer; | |
| 1346 | |
| 1347 #if !ASSERT_DISABLED | |
| 1348 LayerListMutationDetector mutationChecker(layer->stackingNode()); | |
| 1349 #endif | |
| 1350 | |
| 1351 if (layer->stackingNode()->isStackingContainer()) { | |
| 1352 RenderLayerStackingNodeIterator iterator(*layer->stackingNode(), Negativ
eZOrderChildren); | |
| 1353 while (RenderLayerStackingNode* curNode = iterator.next()) | |
| 1354 rebuildCompositingLayerTree(curNode->layer(), childList, depth + 1); | |
| 1355 | |
| 1356 // If a negative z-order child is compositing, we get a foreground layer
which needs to get parented. | |
| 1357 if (hasCompositedLayerMapping && currentCompositedLayerMapping->foregrou
ndLayer()) | |
| 1358 childList.append(currentCompositedLayerMapping->foregroundLayer()); | |
| 1359 } | |
| 1360 | |
| 1361 RenderLayerStackingNodeIterator iterator(*layer->stackingNode(), NormalFlowC
hildren | PositiveZOrderChildren); | |
| 1362 while (RenderLayerStackingNode* curNode = iterator.next()) | |
| 1363 rebuildCompositingLayerTree(curNode->layer(), childList, depth + 1); | |
| 1364 | |
| 1365 if (hasCompositedLayerMapping) { | |
| 1366 bool parented = false; | |
| 1367 if (layer->renderer()->isRenderPart()) | |
| 1368 parented = parentFrameContentLayers(toRenderPart(layer->renderer()))
; | |
| 1369 | |
| 1370 if (!parented) | |
| 1371 currentCompositedLayerMapping->parentForSublayers()->setChildren(lay
erChildren); | |
| 1372 | |
| 1373 // If the layer has a clipping layer the overflow controls layers will b
e siblings of the clipping layer. | |
| 1374 // Otherwise, the overflow control layers are normal children. | |
| 1375 if (!currentCompositedLayerMapping->hasClippingLayer() && !currentCompos
itedLayerMapping->hasScrollingLayer()) { | |
| 1376 if (GraphicsLayer* overflowControlLayer = currentCompositedLayerMapp
ing->layerForHorizontalScrollbar()) { | |
| 1377 overflowControlLayer->removeFromParent(); | |
| 1378 currentCompositedLayerMapping->parentForSublayers()->addChild(ov
erflowControlLayer); | |
| 1379 } | |
| 1380 | |
| 1381 if (GraphicsLayer* overflowControlLayer = currentCompositedLayerMapp
ing->layerForVerticalScrollbar()) { | |
| 1382 overflowControlLayer->removeFromParent(); | |
| 1383 currentCompositedLayerMapping->parentForSublayers()->addChild(ov
erflowControlLayer); | |
| 1384 } | |
| 1385 | |
| 1386 if (GraphicsLayer* overflowControlLayer = currentCompositedLayerMapp
ing->layerForScrollCorner()) { | |
| 1387 overflowControlLayer->removeFromParent(); | |
| 1388 currentCompositedLayerMapping->parentForSublayers()->addChild(ov
erflowControlLayer); | |
| 1389 } | |
| 1390 } | |
| 1391 | |
| 1392 childLayersOfEnclosingLayer.append(currentCompositedLayerMapping->childF
orSuperlayers()); | |
| 1393 } | |
| 1394 | |
| 1395 if (!depth) { | |
| 1396 int percentageIncreaseInPixels = static_cast<int>(pixelsAddedByPromoting
AllTransitions / pixelsWithoutPromotingAllTransitions * 100); | |
| 1397 blink::Platform::current()->histogramCustomCounts("Renderer.PixelIncreas
eFromTransitions", percentageIncreaseInPixels, 0, 1000, 50); | |
| 1398 } | |
| 1399 } | |
| 1400 | |
| 1401 void RenderLayerCompositor::frameViewDidChangeLocation(const IntPoint& contentsO
ffset) | 1282 void RenderLayerCompositor::frameViewDidChangeLocation(const IntPoint& contentsO
ffset) |
| 1402 { | 1283 { |
| 1403 if (m_overflowControlsHostLayer) | 1284 if (m_overflowControlsHostLayer) |
| 1404 m_overflowControlsHostLayer->setPosition(contentsOffset); | 1285 m_overflowControlsHostLayer->setPosition(contentsOffset); |
| 1405 } | 1286 } |
| 1406 | 1287 |
| 1407 void RenderLayerCompositor::frameViewDidChangeSize() | 1288 void RenderLayerCompositor::frameViewDidChangeSize() |
| 1408 { | 1289 { |
| 1409 if (m_containerLayer) { | 1290 if (m_containerLayer) { |
| 1410 FrameView* frameView = m_renderView->frameView(); | 1291 FrameView* frameView = m_renderView->frameView(); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 return 0; | 1399 return 0; |
| 1519 | 1400 |
| 1520 HTMLFrameOwnerElement* element = toHTMLFrameOwnerElement(renderer->node()); | 1401 HTMLFrameOwnerElement* element = toHTMLFrameOwnerElement(renderer->node()); |
| 1521 if (Document* contentDocument = element->contentDocument()) { | 1402 if (Document* contentDocument = element->contentDocument()) { |
| 1522 if (RenderView* view = contentDocument->renderView()) | 1403 if (RenderView* view = contentDocument->renderView()) |
| 1523 return view->compositor(); | 1404 return view->compositor(); |
| 1524 } | 1405 } |
| 1525 return 0; | 1406 return 0; |
| 1526 } | 1407 } |
| 1527 | 1408 |
| 1409 // FIXME: What does this function do? It needs a clearer name. |
| 1528 bool RenderLayerCompositor::parentFrameContentLayers(RenderPart* renderer) | 1410 bool RenderLayerCompositor::parentFrameContentLayers(RenderPart* renderer) |
| 1529 { | 1411 { |
| 1530 RenderLayerCompositor* innerCompositor = frameContentsCompositor(renderer); | 1412 RenderLayerCompositor* innerCompositor = frameContentsCompositor(renderer); |
| 1531 if (!innerCompositor || !innerCompositor->inCompositingMode() || innerCompos
itor->rootLayerAttachment() != RootLayerAttachedViaEnclosingFrame) | 1413 if (!innerCompositor || !innerCompositor->inCompositingMode() || innerCompos
itor->rootLayerAttachment() != RootLayerAttachedViaEnclosingFrame) |
| 1532 return false; | 1414 return false; |
| 1533 | 1415 |
| 1534 RenderLayer* layer = renderer->layer(); | 1416 RenderLayer* layer = renderer->layer(); |
| 1535 if (!layer->hasCompositedLayerMapping()) | 1417 if (!layer->hasCompositedLayerMapping()) |
| 1536 return false; | 1418 return false; |
| 1537 | 1419 |
| 1538 CompositedLayerMappingPtr compositedLayerMapping = layer->compositedLayerMap
ping(); | 1420 CompositedLayerMappingPtr compositedLayerMapping = layer->compositedLayerMap
ping(); |
| 1539 GraphicsLayer* hostingLayer = compositedLayerMapping->parentForSublayers(); | 1421 GraphicsLayer* hostingLayer = compositedLayerMapping->parentForSublayers(); |
| 1540 GraphicsLayer* rootLayer = innerCompositor->rootGraphicsLayer(); | 1422 GraphicsLayer* rootLayer = innerCompositor->rootGraphicsLayer(); |
| 1541 if (hostingLayer->children().size() != 1 || hostingLayer->children()[0] != r
ootLayer) { | 1423 if (hostingLayer->children().size() != 1 || hostingLayer->children()[0] != r
ootLayer) { |
| 1542 hostingLayer->removeAllChildren(); | 1424 hostingLayer->removeAllChildren(); |
| 1543 hostingLayer->addChild(rootLayer); | 1425 hostingLayer->addChild(rootLayer); |
| 1544 } | 1426 } |
| 1545 return true; | 1427 return true; |
| 1546 } | 1428 } |
| 1547 | 1429 |
| 1548 // This just updates layer geometry without changing the hierarchy. | |
| 1549 void RenderLayerCompositor::updateLayerTreeGeometry(RenderLayer* layer) | |
| 1550 { | |
| 1551 updateGraphicsLayersMappedToRenderLayer(layer); | |
| 1552 | |
| 1553 #if !ASSERT_DISABLED | |
| 1554 LayerListMutationDetector mutationChecker(layer->stackingNode()); | |
| 1555 #endif | |
| 1556 | |
| 1557 RenderLayerStackingNodeIterator iterator(*layer->stackingNode(), AllChildren
); | |
| 1558 while (RenderLayerStackingNode* curNode = iterator.next()) | |
| 1559 updateLayerTreeGeometry(curNode->layer()); | |
| 1560 } | |
| 1561 | |
| 1562 // Recurs down the RenderLayer tree until its finds the compositing descendants
of compositingAncestor and updates their geometry. | 1430 // Recurs down the RenderLayer tree until its finds the compositing descendants
of compositingAncestor and updates their geometry. |
| 1563 void RenderLayerCompositor::updateCompositingDescendantGeometry(RenderLayerStack
ingNode* compositingAncestor, RenderLayer* layer, bool compositedChildrenOnly) | 1431 void RenderLayerCompositor::updateCompositingDescendantGeometry(RenderLayerStack
ingNode* compositingAncestor, RenderLayer* layer, bool compositedChildrenOnly) |
| 1564 { | 1432 { |
| 1565 if (layer->stackingNode() != compositingAncestor) { | 1433 if (layer->stackingNode() != compositingAncestor) { |
| 1566 if (layer->hasCompositedLayerMapping()) { | 1434 if (layer->hasCompositedLayerMapping()) { |
| 1567 CompositedLayerMappingPtr compositedLayerMapping = layer->composited
LayerMapping(); | 1435 CompositedLayerMappingPtr compositedLayerMapping = layer->composited
LayerMapping(); |
| 1568 compositedLayerMapping->updateCompositedBounds(); | 1436 compositedLayerMapping->updateCompositedBounds(); |
| 1569 | 1437 |
| 1570 if (layer->reflectionInfo()) { | 1438 if (layer->reflectionInfo()) { |
| 1571 RenderLayer* reflectionLayer = layer->reflectionInfo()->reflecti
onLayer(); | 1439 RenderLayer* reflectionLayer = layer->reflectionInfo()->reflecti
onLayer(); |
| (...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2405 } else if (graphicsLayer == m_scrollLayer.get()) { | 2273 } else if (graphicsLayer == m_scrollLayer.get()) { |
| 2406 name = "LocalFrame Scrolling Layer"; | 2274 name = "LocalFrame Scrolling Layer"; |
| 2407 } else { | 2275 } else { |
| 2408 ASSERT_NOT_REACHED(); | 2276 ASSERT_NOT_REACHED(); |
| 2409 } | 2277 } |
| 2410 | 2278 |
| 2411 return name; | 2279 return name; |
| 2412 } | 2280 } |
| 2413 | 2281 |
| 2414 } // namespace WebCore | 2282 } // namespace WebCore |
| OLD | NEW |