<https://webkit.org/b/119946> Move some code used only by EventHandler from Clipboard to EventHandler

Reviewed by Andreas Kling.

Later it would be good to move this all to DragController, but there is no reason to have
these functions as member functions of the DOM-exposed Clipboard class.

* dom/Clipboard.cpp: Deleted hasFileOfType, hasStringOfType, convertDropZoneOperationToDragOperation,
convertDragOperationToDropZoneOperation.
* dom/Clipboard.h: Ditto.

* page/EventHandler.cpp:
(WebCore::convertDropZoneOperationToDragOperation): Moved here.
(WebCore::convertDragOperationToDropZoneOperation): Moved here. Also changed to use ASCIILiteral.
(WebCore::hasFileOfType): Moved here and made a free function instead of a member function. Removed
canReadTypes check because Clipboard::files already takes care of that.
(WebCore::hasStringOfType): Moved here and made a free function instead of a member function.
Added a check for the null string because HashSet::contains will not work on a null string.
(WebCore::hasDropZoneType): Moved here and made a free function instead of a member function.
(WebCore::findDropZone): Call the hasDropZoneType function instead of Clipboard::hasDropZoneType.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/119947> Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS

Reviewed by Andreas Kling.

* dom/Clipboard.cpp:
(WebCore::Clipboard::Clipboard):
(WebCore::Clipboard::~Clipboard):
* dom/Clipboard.h:
Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS, LEGACY_VIRTUAL, and LEGACY_PURE.
Keep only the !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) side of all conditionals.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/119948> Change drag-specific clipboard writing in DragController to go straight to Pasteboard, not forward through Clipboard

Reviewed by Andreas Kling.

* dom/Clipboard.cpp: Removed writeRange, writePlainText, and writeURL functions.
All three are just unneeded forwarding to pasteboard.
* dom/Clipboard.h: Ditto.

* page/DragController.cpp:
(WebCore::DragController::startDrag): Move the logic in here. Later we might
want to straighten this out a bit, perhaps using functions in Editor, but it's
not much code so fine to just have it here for now.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/119886> PseudoElement is abusing parent node pointer

Reviewed by Darin Adler.

PseudoElement sets its host node as its parent. This is confusing and wrong as it breaks
the basic tree consistency (a node is a child node of its parent node).
        
This patch adds an explicit host pointer PseudoElement and switches the call sites over. Memory
impact is negligible as there are not that many ::befores and ::afters.

* dom/ComposedShadowTreeWalker.cpp:
(WebCore::ComposedShadowTreeWalker::traverseParent):
* dom/EventPathWalker.cpp:
(WebCore::EventPathWalker::moveToParent):
* dom/EventRetargeter.h:
(WebCore::EventRetargeter::eventTargetRespectingTargetRules):
* dom/Node.cpp:
(WebCore::Node::~Node):
        
    Add consistency assertions. Remove unnecessary clearing of sibling pointers. They should be cleared already.

(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::PseudoElement):
(WebCore::PseudoElement::customStyleForRenderer):
* dom/PseudoElement.h:
(WebCore::toPseudoElement):
        
    Add casting functions.

* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::setInnerNode):
(WebCore::HitTestResult::setInnerNonSharedNode):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windows build fix after r154219.

* WebFrame.cpp:
(WebFrame::dispatchDidClearWindowObjectInWorld):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

    Don't export Frame::settings() as it's an inline method now.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/119950> Remove unused EditorClient::frameWillDetachPage() callback.

Reviewed by Antti Koivisto.

This callback was only used by the Chromium port.

* editing/Editor.h:
* editing/Editor.cpp:

    Remove override of FrameDestructionObserver::willDetachPage().

* page/EditorClient.h:

    Remove frameWillDetachPage(). This is repeated in every EditorClient subclass.


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