ComposedShadowTreeWalker shouldn't be exposed to non-ShadowDOM classes
https://bugs.webkit.org/show_bug.cgi?id=106505

Reviewed by Dimitri Glazkov.

This change hides ComposedShadowTreeWalker from non-ShadowDOM classes by

- introducing thin wrapper functions on NodeRenderingTraversal and relacing
  CSTW callsites with it,
- replacing ComposedShadowTreeWalker usage with AncestorChainWalker if possible and
- moving AncestorChainWalker to its own file and including it on files
  which needs only AncestorChainWalker. This eliminates ComposedShadowTreeWalker.h inclusions.

No new tests. No behavior change.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/AncestorChainWalker.cpp: Added. Extracted from ComposedShadowTreeWalker.cpp
(WebCore):
(WebCore::AncestorChainWalker::AncestorChainWalker):
(WebCore::AncestorChainWalker::parent):
* dom/AncestorChainWalker.h: Added. Extracted from ComposedShadowTreeWalker.h
(WebCore):
(AncestorChainWalker):
(WebCore::AncestorChainWalker::get):
(WebCore::AncestorChainWalker::crossingInsertionPoint):
* dom/ComposedShadowTreeWalker.cpp:
* dom/ComposedShadowTreeWalker.h:
* dom/DOMAllInOne.cpp:
* dom/ElementShadow.h:
(WebCore::shadowOfParent):
(WebCore):
* dom/EventDispatcher.cpp:
* dom/Node.cpp:
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::nextInScope):
(NodeRenderingTraversal):
(WebCore::NodeRenderingTraversal::previousInScope): Added.
(WebCore::NodeRenderingTraversal::parentInScope): Added.
(WebCore::NodeRenderingTraversal::lastChildInScope): Added.
* dom/NodeRenderingTraversal.h:
(NodeRenderingTraversal):
* dom/TreeScope.cpp:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::attach):
* page/EventHandler.cpp:
* page/FocusController.cpp: Replacing CSTW with NRT
(WebCore):
(WebCore::FocusNavigationScope::focusNavigationScopeOf):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
media/video-controls-captions.html fails after fixing https://bugs.webkit.org/show_bug.cgi?id=105536
https://bugs.webkit.org/show_bug.cgi?id=106230

Reviewed by Eric Carlson.

Source/WebCore:

Until Chromium has proper controls for lists of text tracks, the caption button
needs to preserve its functionality.

Updated TestExpectations to reactivate test.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setClosedCaptionsVisible): Added explicit call to updateTextTrackDisplay.
This enables hiding the tracks immediately.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Added extra check before rendering
that captions should actually be displayed.

LayoutTests:

* platform/chromium/TestExpectations: Reactivated test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139326 268f45cc-cd09-0410-ab3c-d52691b4dbfc