Chromium Code Reviews| Index: Source/core/page/scrolling/ScrollingCoordinator.cpp |
| diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| index 44e1df16a7fe1d7cd0d587a3403a4ccef6081f5b..926e8ff06e95ddb22d8e5df8e54aaddb1dfe411d 100644 |
| --- a/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| +++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| @@ -790,7 +790,11 @@ static void accumulateDocumentTouchEventTargetRects(LayerHitTestRects& rects, co |
| // then we can quickly mark the entire document and skip looking at any other handlers. |
| // Note that technically a handler on the body doesn't cover the whole document, but it's |
| // reasonable to be conservative and report the whole document anyway. |
| - for (TouchEventTargetSet::const_iterator iter = targets->begin(); iter != targets->end(); ++iter) { |
| + // |
| + // Fullscreen HTML5 video when OverlayFullscreenVideo is enabled is implemented by replacing the |
| + // root cc::layer with the video layer so doing this optimization causes the compositor to think |
| + // that there are no handlers, therefore skip it. |
| + for (TouchEventTargetSet::const_iterator iter = targets->begin(); !document->renderView()->compositor()->inOverlayFullscreenVideo() && iter != targets->end(); ++iter) { |
|
Rick Byers
2014/06/10 20:02:24
rather than check inOverlayFullscreenVideo on each
|
| Node* target = iter->key; |
| if (target == document || target == document->documentElement() || target == document->body()) { |
| if (RenderView* rendererView = document->renderView()) { |
| @@ -805,8 +809,7 @@ static void accumulateDocumentTouchEventTargetRects(LayerHitTestRects& rects, co |
| if (!target->inDocument()) |
| continue; |
| - if (target->isDocumentNode()) { |
| - ASSERT(target != document); |
| + if (target->isDocumentNode() && target != document) { |
| accumulateDocumentTouchEventTargetRects(rects, toDocument(target)); |
| } else if (RenderObject* renderer = target->renderer()) { |
| // If the set also contains one of our ancestor nodes then processing |