[CSS Regions] Mouse over an element does not trigger :hover state for parent when the element is flowed in a region
https://bugs.webkit.org/show_bug.cgi?id=111749

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-29
Reviewed by Antti Koivisto.

Source/WebCore:

When searching for the hover ancestor and encountering a named flow thread,
the search will continue with the DOM ancestor of the top-most element
in the named flow thread.

Tests: fast/regions/hover-in-region-grandparent.html
       fast/regions/hover-in-region-parent-skip.html
       fast/regions/hover-in-region-parent-skip-inlines-anonymous.html
       fast/regions/hover-on-child-in-region.html
       fast/regions/hover-on-child-in-region-in-region.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::hoverAncestor):
* rendering/RenderObject.h:

LayoutTests:

* fast/regions/hover-in-region-grandparent-expected.txt: Added.
* fast/regions/hover-in-region-grandparent.html: Added.
* fast/regions/hover-in-region-parent-skip-expected.txt: Added.
* fast/regions/hover-in-region-parent-skip.html: Added.
* fast/regions/hover-in-region-parent-skip-inlines-anonymous-expected.txt: Added.
* fast/regions/hover-in-region-parent-skip-inlines-anonymous.html: Added.
* fast/regions/hover-on-child-in-region-expected.txt: Added.
* fast/regions/hover-on-child-in-region.html: Added.
* fast/regions/hover-on-child-in-region-in-region-expected.txt: Added.
* fast/regions/hover-on-child-in-region-in-region.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FocusController should operate on Elements internally.
<http://webkit.org/b/116781>

Reviewed by Antti Koivisto.

Switch from Node* to Element* as much as possible inside FocusController.
Mostly mechanical, gets rid of some unnecessary isElementNode() checks and casts.

* page/FocusController.h:
* page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedElement):
(WebCore::isNonFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findFocusableElementRecursively):
(WebCore::FocusController::findFocusableElement):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::FocusController::setActive):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Clean up WebKit2 GNUmakefile.am
https://bugs.webkit.org/show_bug.cgi?id=116907

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-29
Reviewed by Martin Robinson.

Removed WebNotificationManagerProxy.messages.in after r150785.

* GNUmakefile.am:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Document::nodeAbsIndex() and Document::nodeWithAbsIndex().

Rubber-stamped by Antti "Lucky" Koivisto.

* dom/Document.h:
* dom/Document.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make WidgetHierarchyUpdatesSuspensionScope use swap instead of copy
https://bugs.webkit.org/show_bug.cgi?id=116927

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/1d577e1fd5c5716a06e4007e04fc3d9d0a88f5e4

This is equivalent behavior code that is unambiguously better performance. swap is O(1) time and memory,
copying a hash table is at least linear with the number of elements.

* rendering/RenderWidget.cpp:
(WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):


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