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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 DocumentLifecycle::DeprecatedTransition m_deprecatedTransition; | 82 DocumentLifecycle::DeprecatedTransition m_deprecatedTransition; |
83 DocumentLifecycle::State m_originalState; | 83 DocumentLifecycle::State m_originalState; |
84 }; | 84 }; |
85 | 85 |
86 RenderLayerCompositor::RenderLayerCompositor(RenderView& renderView) | 86 RenderLayerCompositor::RenderLayerCompositor(RenderView& renderView) |
87 : m_renderView(renderView) | 87 : m_renderView(renderView) |
88 , m_compositingReasonFinder(renderView) | 88 , m_compositingReasonFinder(renderView) |
89 , m_pendingUpdateType(CompositingUpdateNone) | 89 , m_pendingUpdateType(CompositingUpdateNone) |
90 , m_hasAcceleratedCompositing(true) | 90 , m_hasAcceleratedCompositing(true) |
91 , m_compositing(false) | 91 , m_compositing(false) |
92 , m_compositingLayersNeedRebuild(false) | |
93 , m_rootShouldAlwaysCompositeDirty(true) | 92 , m_rootShouldAlwaysCompositeDirty(true) |
94 , m_needsUpdateFixedBackground(false) | 93 , m_needsUpdateFixedBackground(false) |
95 , m_isTrackingRepaints(false) | 94 , m_isTrackingRepaints(false) |
96 , m_rootLayerAttachment(RootLayerUnattached) | 95 , m_rootLayerAttachment(RootLayerUnattached) |
97 { | 96 { |
98 updateAcceleratedCompositingSettings(); | 97 updateAcceleratedCompositingSettings(); |
99 } | 98 } |
100 | 99 |
101 RenderLayerCompositor::~RenderLayerCompositor() | 100 RenderLayerCompositor::~RenderLayerCompositor() |
102 { | 101 { |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 if (!m_rootShouldAlwaysCompositeDirty) | 145 if (!m_rootShouldAlwaysCompositeDirty) |
147 return; | 146 return; |
148 | 147 |
149 m_rootShouldAlwaysCompositeDirty = false; | 148 m_rootShouldAlwaysCompositeDirty = false; |
150 if (m_compositing) | 149 if (m_compositing) |
151 return; | 150 return; |
152 | 151 |
153 if (rootShouldAlwaysComposite()) { | 152 if (rootShouldAlwaysComposite()) { |
154 // FIXME: Is this needed? It was added in https://bugs.webkit.org/show_b
ug.cgi?id=26651. | 153 // FIXME: Is this needed? It was added in https://bugs.webkit.org/show_b
ug.cgi?id=26651. |
155 // No tests fail if it's deleted. | 154 // No tests fail if it's deleted. |
156 setCompositingLayersNeedRebuild(); | 155 setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
157 setCompositingModeEnabled(true); | 156 setCompositingModeEnabled(true); |
158 } | 157 } |
159 } | 158 } |
160 | 159 |
161 bool RenderLayerCompositor::compositingLayersNeedRebuild() | |
162 { | |
163 // enableCompositingModeIfNeeded can set the m_compositingLayersNeedRebuild
bit. | |
164 ASSERT(!m_rootShouldAlwaysCompositeDirty); | |
165 return m_compositingLayersNeedRebuild; | |
166 } | |
167 | |
168 bool RenderLayerCompositor::rootShouldAlwaysComposite() const | 160 bool RenderLayerCompositor::rootShouldAlwaysComposite() const |
169 { | 161 { |
170 if (!m_hasAcceleratedCompositing) | 162 if (!m_hasAcceleratedCompositing) |
171 return false; | 163 return false; |
172 return m_renderView.frame()->isMainFrame() || m_compositingReasonFinder.requ
iresCompositingForScrollableFrame(); | 164 return m_renderView.frame()->isMainFrame() || m_compositingReasonFinder.requ
iresCompositingForScrollableFrame(); |
173 } | 165 } |
174 | 166 |
175 void RenderLayerCompositor::updateAcceleratedCompositingSettings() | 167 void RenderLayerCompositor::updateAcceleratedCompositingSettings() |
176 { | 168 { |
177 m_compositingReasonFinder.updateTriggers(); | 169 m_compositingReasonFinder.updateTriggers(); |
178 | 170 m_hasAcceleratedCompositing = m_renderView.document().settings()->accelerate
dCompositingEnabled(); |
179 bool hasAcceleratedCompositing = m_renderView.document().settings()->acceler
atedCompositingEnabled(); | |
180 | |
181 // FIXME: Is this needed? It was added in https://bugs.webkit.org/show_bug.c
gi?id=26651. | |
182 // No tests fail if it's deleted. | |
183 if (hasAcceleratedCompositing != m_hasAcceleratedCompositing) | |
184 setCompositingLayersNeedRebuild(); | |
185 | |
186 m_hasAcceleratedCompositing = hasAcceleratedCompositing; | |
187 m_rootShouldAlwaysCompositeDirty = true; | 171 m_rootShouldAlwaysCompositeDirty = true; |
188 } | 172 } |
189 | 173 |
190 bool RenderLayerCompositor::layerSquashingEnabled() const | 174 bool RenderLayerCompositor::layerSquashingEnabled() const |
191 { | 175 { |
192 if (!RuntimeEnabledFeatures::layerSquashingEnabled()) | 176 if (!RuntimeEnabledFeatures::layerSquashingEnabled()) |
193 return false; | 177 return false; |
194 if (Settings* settings = m_renderView.document().settings()) | 178 if (Settings* settings = m_renderView.document().settings()) |
195 return settings->layerSquashingEnabled(); | 179 return settings->layerSquashingEnabled(); |
196 return true; | 180 return true; |
197 } | 181 } |
198 | 182 |
199 bool RenderLayerCompositor::acceleratedCompositingForOverflowScrollEnabled() con
st | 183 bool RenderLayerCompositor::acceleratedCompositingForOverflowScrollEnabled() con
st |
200 { | 184 { |
201 return m_compositingReasonFinder.hasOverflowScrollTrigger(); | 185 return m_compositingReasonFinder.hasOverflowScrollTrigger(); |
202 } | 186 } |
203 | 187 |
204 void RenderLayerCompositor::setCompositingLayersNeedRebuild() | |
205 { | |
206 // FIXME: crbug.com/332248 ideally this could be merged with setNeedsComposi
tingUpdate(). | |
207 m_compositingLayersNeedRebuild = true; | |
208 page()->animator().scheduleVisualUpdate(); | |
209 lifecycle().ensureStateAtMost(DocumentLifecycle::LayoutClean); | |
210 } | |
211 | |
212 static RenderVideo* findFullscreenVideoRenderer(Document& document) | 188 static RenderVideo* findFullscreenVideoRenderer(Document& document) |
213 { | 189 { |
214 Element* fullscreenElement = FullscreenElementStack::fullscreenElementFrom(d
ocument); | 190 Element* fullscreenElement = FullscreenElementStack::fullscreenElementFrom(d
ocument); |
215 while (fullscreenElement && fullscreenElement->isFrameOwnerElement()) { | 191 while (fullscreenElement && fullscreenElement->isFrameOwnerElement()) { |
216 Document* contentDocument = toHTMLFrameOwnerElement(fullscreenElement)->
contentDocument(); | 192 Document* contentDocument = toHTMLFrameOwnerElement(fullscreenElement)->
contentDocument(); |
217 if (!contentDocument) | 193 if (!contentDocument) |
218 return 0; | 194 return 0; |
219 fullscreenElement = FullscreenElementStack::fullscreenElementFrom(*conte
ntDocument); | 195 fullscreenElement = FullscreenElementStack::fullscreenElementFrom(*conte
ntDocument); |
220 } | 196 } |
221 if (!isHTMLVideoElement(fullscreenElement)) | 197 if (!isHTMLVideoElement(fullscreenElement)) |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 // track which RenderLayers moved during layout and only dirty those | 261 // track which RenderLayers moved during layout and only dirty those |
286 // specific RenderLayers. | 262 // specific RenderLayers. |
287 rootRenderLayer()->setNeedsToUpdateAncestorDependentProperties(); | 263 rootRenderLayer()->setNeedsToUpdateAncestorDependentProperties(); |
288 setNeedsCompositingUpdate(CompositingUpdateAfterCompositingInputChange); | 264 setNeedsCompositingUpdate(CompositingUpdateAfterCompositingInputChange); |
289 } | 265 } |
290 | 266 |
291 #if ASSERT_ENABLED | 267 #if ASSERT_ENABLED |
292 | 268 |
293 void RenderLayerCompositor::assertNoUnresolvedDirtyBits() | 269 void RenderLayerCompositor::assertNoUnresolvedDirtyBits() |
294 { | 270 { |
295 ASSERT(!compositingLayersNeedRebuild()); | |
296 ASSERT(m_pendingUpdateType == CompositingUpdateNone); | 271 ASSERT(m_pendingUpdateType == CompositingUpdateNone); |
297 ASSERT(!m_rootShouldAlwaysCompositeDirty); | 272 ASSERT(!m_rootShouldAlwaysCompositeDirty); |
298 } | 273 } |
299 | 274 |
300 #endif | 275 #endif |
301 | 276 |
302 void RenderLayerCompositor::applyOverlayFullscreenVideoAdjustment() | 277 void RenderLayerCompositor::applyOverlayFullscreenVideoAdjustment() |
303 { | 278 { |
304 if (!m_rootContentLayer) | 279 if (!m_rootContentLayer) |
305 return; | 280 return; |
(...skipping 26 matching lines...) Expand all Loading... |
332 } | 307 } |
333 | 308 |
334 void RenderLayerCompositor::updateIfNeeded() | 309 void RenderLayerCompositor::updateIfNeeded() |
335 { | 310 { |
336 { | 311 { |
337 // FIXME: Notice that we call this function before checking the dirty bi
ts below. | 312 // FIXME: Notice that we call this function before checking the dirty bi
ts below. |
338 // We'll need to remove DeprecatedDirtyCompositingDuringCompositingUpdat
e | 313 // We'll need to remove DeprecatedDirtyCompositingDuringCompositingUpdat
e |
339 // before moving this function after checking the dirty bits. | 314 // before moving this function after checking the dirty bits. |
340 DeprecatedDirtyCompositingDuringCompositingUpdate marker(lifecycle()); | 315 DeprecatedDirtyCompositingDuringCompositingUpdate marker(lifecycle()); |
341 | 316 |
342 // FIXME: enableCompositingModeIfNeeded can call setCompositingLayersNee
dRebuild, | 317 // FIXME: enableCompositingModeIfNeeded can trigger a CompositingUpdateR
ebuildTree, |
343 // which asserts that it's not InCompositingUpdate. | 318 // which asserts that it's not InCompositingUpdate. |
344 enableCompositingModeIfNeeded(); | 319 enableCompositingModeIfNeeded(); |
345 } | 320 } |
346 | 321 |
347 CompositingUpdateType updateType = m_pendingUpdateType; | 322 CompositingUpdateType updateType = m_pendingUpdateType; |
348 bool needHierarchyAndGeometryUpdate = compositingLayersNeedRebuild(); | |
349 | |
350 m_pendingUpdateType = CompositingUpdateNone; | 323 m_pendingUpdateType = CompositingUpdateNone; |
351 m_compositingLayersNeedRebuild = false; | |
352 | 324 |
353 if (!hasAcceleratedCompositing()) | 325 if (!hasAcceleratedCompositing()) |
354 return; | 326 return; |
355 | 327 |
356 bool needsToUpdateScrollingCoordinator = scrollingCoordinator() && scrolling
Coordinator()->needsToUpdateAfterCompositingChange(); | 328 bool needsToUpdateScrollingCoordinator = scrollingCoordinator() && scrolling
Coordinator()->needsToUpdateAfterCompositingChange(); |
357 if (updateType == CompositingUpdateNone && !needHierarchyAndGeometryUpdate &
& !needsToUpdateScrollingCoordinator) | 329 if (updateType == CompositingUpdateNone && !needsToUpdateScrollingCoordinato
r) |
358 return; | 330 return; |
359 | 331 |
360 GraphicsLayerUpdater::UpdateType graphicsLayerUpdateType = GraphicsLayerUpda
ter::DoNotForceUpdate; | |
361 CompositingPropertyUpdater::UpdateType compositingPropertyUpdateType = Compo
sitingPropertyUpdater::DoNotForceUpdate; | |
362 | |
363 RenderLayer* updateRoot = rootRenderLayer(); | 332 RenderLayer* updateRoot = rootRenderLayer(); |
364 | 333 |
365 Vector<RenderLayer*> layersNeedingRepaint; | 334 Vector<RenderLayer*> layersNeedingRepaint; |
366 | 335 |
367 if (updateType >= CompositingUpdateAfterCompositingInputChange) { | 336 if (updateType >= CompositingUpdateAfterCompositingInputChange) { |
368 bool layersChanged = false; | 337 bool layersChanged = false; |
369 { | 338 { |
370 TRACE_EVENT0("blink_rendering", "CompositingPropertyUpdater::updateA
ncestorDependentProperties"); | 339 TRACE_EVENT0("blink_rendering", "CompositingPropertyUpdater::updateA
ncestorDependentProperties"); |
371 CompositingPropertyUpdater(updateRoot).updateAncestorDependentProper
ties(updateRoot, compositingPropertyUpdateType); | 340 CompositingPropertyUpdater(updateRoot).updateAncestorDependentProper
ties(updateRoot); |
372 #if ASSERT_ENABLED | 341 #if ASSERT_ENABLED |
373 CompositingPropertyUpdater::assertNeedsToUpdateAncestorDependantProp
ertiesBitsCleared(updateRoot); | 342 CompositingPropertyUpdater::assertNeedsToUpdateAncestorDependantProp
ertiesBitsCleared(updateRoot); |
374 #endif | 343 #endif |
375 } | 344 } |
376 | 345 |
377 CompositingRequirementsUpdater(m_renderView, m_compositingReasonFinder).
update(updateRoot); | 346 CompositingRequirementsUpdater(m_renderView, m_compositingReasonFinder).
update(updateRoot); |
378 | 347 |
379 { | 348 { |
380 TRACE_EVENT0("blink_rendering", "CompositingLayerAssigner::assign"); | 349 TRACE_EVENT0("blink_rendering", "CompositingLayerAssigner::assign"); |
381 CompositingLayerAssigner(this).assign(updateRoot, layersChanged, lay
ersNeedingRepaint); | 350 CompositingLayerAssigner(this).assign(updateRoot, layersChanged, lay
ersNeedingRepaint); |
382 } | 351 } |
383 | 352 |
384 { | 353 { |
385 TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::updateAfterC
ompositingChange"); | 354 TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::updateAfterC
ompositingChange"); |
386 if (const FrameView::ScrollableAreaSet* scrollableAreas = m_renderVi
ew.frameView()->scrollableAreas()) { | 355 if (const FrameView::ScrollableAreaSet* scrollableAreas = m_renderVi
ew.frameView()->scrollableAreas()) { |
387 for (FrameView::ScrollableAreaSet::iterator it = scrollableAreas
->begin(); it != scrollableAreas->end(); ++it) | 356 for (FrameView::ScrollableAreaSet::iterator it = scrollableAreas
->begin(); it != scrollableAreas->end(); ++it) |
388 (*it)->updateAfterCompositingChange(); | 357 (*it)->updateAfterCompositingChange(); |
389 } | 358 } |
390 } | 359 } |
391 | 360 |
392 if (layersChanged) | 361 if (layersChanged) |
393 needHierarchyAndGeometryUpdate = true; | 362 updateType = std::max(updateType, CompositingUpdateRebuildTree); |
394 } | 363 } |
395 | 364 |
396 if (updateType != CompositingUpdateNone || needHierarchyAndGeometryUpdate) { | 365 if (updateType != CompositingUpdateNone) { |
397 TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::updateRecursive")
; | 366 TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::updateRecursive")
; |
398 GraphicsLayerUpdater updater; | 367 GraphicsLayerUpdater updater; |
399 updater.update(*updateRoot, graphicsLayerUpdateType); | 368 updater.update(*updateRoot); |
400 | 369 |
401 if (updater.needsRebuildTree()) | 370 if (updater.needsRebuildTree()) |
402 needHierarchyAndGeometryUpdate = true; | 371 updateType = std::max(updateType, CompositingUpdateRebuildTree); |
403 | 372 |
404 #if !ASSERT_DISABLED | 373 #if !ASSERT_DISABLED |
405 // FIXME: Move this check to the end of the compositing update. | 374 // FIXME: Move this check to the end of the compositing update. |
406 GraphicsLayerUpdater::assertNeedsToUpdateGraphicsLayerBitsCleared(*updat
eRoot); | 375 GraphicsLayerUpdater::assertNeedsToUpdateGraphicsLayerBitsCleared(*updat
eRoot); |
407 #endif | 376 #endif |
408 } | 377 } |
409 | 378 |
410 if (needHierarchyAndGeometryUpdate) { | 379 if (updateType >= CompositingUpdateRebuildTree) { |
411 // Update the hierarchy of the compositing layers. | |
412 GraphicsLayerVector childList; | 380 GraphicsLayerVector childList; |
413 { | 381 { |
414 TRACE_EVENT0("blink_rendering", "GraphicsLayerTreeBuilder::rebuild")
; | 382 TRACE_EVENT0("blink_rendering", "GraphicsLayerTreeBuilder::rebuild")
; |
415 GraphicsLayerTreeBuilder().rebuild(*updateRoot, childList); | 383 GraphicsLayerTreeBuilder().rebuild(*updateRoot, childList); |
416 } | 384 } |
417 | 385 |
418 if (childList.isEmpty()) | 386 if (childList.isEmpty()) |
419 destroyRootLayer(); | 387 destroyRootLayer(); |
420 else | 388 else |
421 m_rootContentLayer->setChildren(childList); | 389 m_rootContentLayer->setChildren(childList); |
422 | 390 |
423 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled()) | 391 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled()) |
424 applyOverlayFullscreenVideoAdjustment(); | 392 applyOverlayFullscreenVideoAdjustment(); |
425 } | 393 } |
426 | 394 |
427 if (m_needsUpdateFixedBackground) { | 395 if (m_needsUpdateFixedBackground) { |
428 rootFixedBackgroundsChanged(); | 396 rootFixedBackgroundsChanged(); |
429 m_needsUpdateFixedBackground = false; | 397 m_needsUpdateFixedBackground = false; |
430 } | 398 } |
431 | 399 |
432 ASSERT(updateRoot || !compositingLayersNeedRebuild()); | |
433 | |
434 // The scrolling coordinator may realize that it needs updating while compos
iting was being updated in this function. | 400 // The scrolling coordinator may realize that it needs updating while compos
iting was being updated in this function. |
435 needsToUpdateScrollingCoordinator |= scrollingCoordinator() && scrollingCoor
dinator()->needsToUpdateAfterCompositingChange(); | 401 needsToUpdateScrollingCoordinator |= scrollingCoordinator() && scrollingCoor
dinator()->needsToUpdateAfterCompositingChange(); |
436 if (needsToUpdateScrollingCoordinator && m_renderView.frame()->isMainFrame()
&& scrollingCoordinator() && inCompositingMode()) | 402 if (needsToUpdateScrollingCoordinator && m_renderView.frame()->isMainFrame()
&& scrollingCoordinator() && inCompositingMode()) |
437 scrollingCoordinator()->updateAfterCompositingChange(); | 403 scrollingCoordinator()->updateAfterCompositingChange(); |
438 | 404 |
439 for (unsigned i = 0; i < layersNeedingRepaint.size(); i++) { | 405 for (unsigned i = 0; i < layersNeedingRepaint.size(); i++) { |
440 RenderLayer* layer = layersNeedingRepaint[i]; | 406 RenderLayer* layer = layersNeedingRepaint[i]; |
441 layer->repainter().computeRepaintRectsIncludingDescendants(); | 407 layer->repainter().computeRepaintRectsIncludingDescendants(); |
442 | 408 |
443 repaintOnCompositingChange(layer); | 409 repaintOnCompositingChange(layer); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 if (compositedLayerUpdate != NoCompositingStateChange) | 514 if (compositedLayerUpdate != NoCompositingStateChange) |
549 allocateOrClearCompositedLayerMapping(layer, compositedLayerUpdate); | 515 allocateOrClearCompositedLayerMapping(layer, compositedLayerUpdate); |
550 } | 516 } |
551 | 517 |
552 void RenderLayerCompositor::updateLayerCompositingState(RenderLayer* layer, Upda
teLayerCompositingStateOptions options) | 518 void RenderLayerCompositor::updateLayerCompositingState(RenderLayer* layer, Upda
teLayerCompositingStateOptions options) |
553 { | 519 { |
554 updateDirectCompositingReasons(layer); | 520 updateDirectCompositingReasons(layer); |
555 CompositingStateTransitionType compositedLayerUpdate = CompositingLayerAssig
ner(this).computeCompositedLayerUpdate(layer); | 521 CompositingStateTransitionType compositedLayerUpdate = CompositingLayerAssig
ner(this).computeCompositedLayerUpdate(layer); |
556 | 522 |
557 if (compositedLayerUpdate != NoCompositingStateChange) | 523 if (compositedLayerUpdate != NoCompositingStateChange) |
558 setCompositingLayersNeedRebuild(); | 524 setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
559 | 525 |
560 if (options == UseChickenEggHacks) | 526 if (options == UseChickenEggHacks) |
561 applyUpdateLayerCompositingStateChickenEggHacks(layer, compositedLayerUp
date); | 527 applyUpdateLayerCompositingStateChickenEggHacks(layer, compositedLayerUp
date); |
562 } | 528 } |
563 | 529 |
564 void RenderLayerCompositor::repaintOnCompositingChange(RenderLayer* layer) | 530 void RenderLayerCompositor::repaintOnCompositingChange(RenderLayer* layer) |
565 { | 531 { |
566 // If the renderer is not attached yet, no need to repaint. | 532 // If the renderer is not attached yet, no need to repaint. |
567 if (layer->renderer() != &m_renderView && !layer->renderer()->parent()) | 533 if (layer->renderer() != &m_renderView && !layer->renderer()->parent()) |
568 return; | 534 return; |
(...skipping 11 matching lines...) Expand all Loading... |
580 | 546 |
581 LayoutPoint offset; | 547 LayoutPoint offset; |
582 layer->convertToLayerCoords(compositedAncestor, offset); | 548 layer->convertToLayerCoords(compositedAncestor, offset); |
583 LayoutRect repaintRect = rect; | 549 LayoutRect repaintRect = rect; |
584 repaintRect.moveBy(offset); | 550 repaintRect.moveBy(offset); |
585 compositedAncestor->repainter().setBackingNeedsRepaintInRect(repaintRect); | 551 compositedAncestor->repainter().setBackingNeedsRepaintInRect(repaintRect); |
586 } | 552 } |
587 | 553 |
588 void RenderLayerCompositor::layerWasAdded(RenderLayer* /*parent*/, RenderLayer*
/*child*/) | 554 void RenderLayerCompositor::layerWasAdded(RenderLayer* /*parent*/, RenderLayer*
/*child*/) |
589 { | 555 { |
590 setCompositingLayersNeedRebuild(); | 556 setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
591 } | 557 } |
592 | 558 |
593 void RenderLayerCompositor::layerWillBeRemoved(RenderLayer* parent, RenderLayer*
child) | 559 void RenderLayerCompositor::layerWillBeRemoved(RenderLayer* parent, RenderLayer*
child) |
594 { | 560 { |
595 if (!child->hasCompositedLayerMapping() || parent->renderer()->documentBeing
Destroyed()) | 561 if (!child->hasCompositedLayerMapping() || parent->renderer()->documentBeing
Destroyed()) |
596 return; | 562 return; |
597 | 563 |
598 { | 564 { |
599 // FIXME: This is called from within RenderLayer::removeChild, which is
called from RenderObject::RemoveChild. | 565 // FIXME: This is called from within RenderLayer::removeChild, which is
called from RenderObject::RemoveChild. |
600 // There's no guarantee that compositor state is up to date. | 566 // There's no guarantee that compositor state is up to date. |
601 DisableCompositingQueryAsserts disabler; | 567 DisableCompositingQueryAsserts disabler; |
602 repaintInCompositedAncestor(child, child->compositedLayerMapping()->comp
ositedBounds()); | 568 repaintInCompositedAncestor(child, child->compositedLayerMapping()->comp
ositedBounds()); |
603 } | 569 } |
604 | 570 |
605 setCompositingLayersNeedRebuild(); | 571 setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
606 } | 572 } |
607 | 573 |
608 void RenderLayerCompositor::frameViewDidChangeLocation(const IntPoint& contentsO
ffset) | 574 void RenderLayerCompositor::frameViewDidChangeLocation(const IntPoint& contentsO
ffset) |
609 { | 575 { |
610 if (m_overflowControlsHostLayer) | 576 if (m_overflowControlsHostLayer) |
611 m_overflowControlsHostLayer->setPosition(contentsOffset); | 577 m_overflowControlsHostLayer->setPosition(contentsOffset); |
612 } | 578 } |
613 | 579 |
614 void RenderLayerCompositor::frameViewDidChangeSize() | 580 void RenderLayerCompositor::frameViewDidChangeSize() |
615 { | 581 { |
(...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1343 } else if (graphicsLayer == m_scrollLayer.get()) { | 1309 } else if (graphicsLayer == m_scrollLayer.get()) { |
1344 name = "LocalFrame Scrolling Layer"; | 1310 name = "LocalFrame Scrolling Layer"; |
1345 } else { | 1311 } else { |
1346 ASSERT_NOT_REACHED(); | 1312 ASSERT_NOT_REACHED(); |
1347 } | 1313 } |
1348 | 1314 |
1349 return name; | 1315 return name; |
1350 } | 1316 } |
1351 | 1317 |
1352 } // namespace WebCore | 1318 } // namespace WebCore |
OLD | NEW |