Title: [219685] trunk/Source/WebCore
Revision
219685
Author
akl...@apple.com
Date
2017-07-20 07:37:14 -0700 (Thu, 20 Jul 2017)

Log Message

Minor Node->Element type tightening fixes
https://bugs.webkit.org/show_bug.cgi?id=174651

Reviewed by Sam Weinig.

Tighten up some Node* into Element* or even better, Element&.

* dom/Document.cpp:
(WebCore::acceptsEditingFocus): Take a const Element&.
(WebCore::Document::setFocusedElement):
* editing/Editor.cpp:
(WebCore::Editor::findEventTargetFrom): Return an Element*.
(WebCore::Editor::findEventTargetFromSelection): Ditto.
(WebCore::Editor::pasteAsPlainText):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::dispatchCPPEvent):
* editing/Editor.h:
* page/DragController.cpp:
(WebCore::DragController::dispatchTextInputEventFor):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (219684 => 219685)


--- trunk/Source/WebCore/ChangeLog	2017-07-20 14:30:10 UTC (rev 219684)
+++ trunk/Source/WebCore/ChangeLog	2017-07-20 14:37:14 UTC (rev 219685)
@@ -1,3 +1,25 @@
+2017-07-20  Andreas Kling  <akl...@apple.com>
+
+        Minor Node->Element type tightening fixes
+        https://bugs.webkit.org/show_bug.cgi?id=174651
+
+        Reviewed by Sam Weinig.
+
+        Tighten up some Node* into Element* or even better, Element&.
+
+        * dom/Document.cpp:
+        (WebCore::acceptsEditingFocus): Take a const Element&.
+        (WebCore::Document::setFocusedElement):
+        * editing/Editor.cpp:
+        (WebCore::Editor::findEventTargetFrom): Return an Element*.
+        (WebCore::Editor::findEventTargetFromSelection): Ditto.
+        (WebCore::Editor::pasteAsPlainText):
+        (WebCore::Editor::pasteAsFragment):
+        (WebCore::Editor::dispatchCPPEvent):
+        * editing/Editor.h:
+        * page/DragController.cpp:
+        (WebCore::DragController::dispatchTextInputEventFor):
+
 2017-07-20  Brady Eidson  <beid...@apple.com>
 
         WKHTTPCookieStore API tests fail on High Sierra.

Modified: trunk/Source/WebCore/dom/Document.cpp (219684 => 219685)


--- trunk/Source/WebCore/dom/Document.cpp	2017-07-20 14:30:10 UTC (rev 219684)
+++ trunk/Source/WebCore/dom/Document.cpp	2017-07-20 14:37:14 UTC (rev 219685)
@@ -378,13 +378,12 @@
     return downcast<RenderWidget>(*renderer).widget();
 }
 
-static bool acceptsEditingFocus(Node* node)
+static bool acceptsEditingFocus(const Element& element)
 {
-    ASSERT(node);
-    ASSERT(node->hasEditableStyle());
+    ASSERT(element.hasEditableStyle());
 
-    Node* root = node->rootEditableElement();
-    Frame* frame = node->document().frame();
+    auto* root = element.rootEditableElement();
+    Frame* frame = element.document().frame();
     if (!frame || !root)
         return false;
 
@@ -3785,7 +3784,7 @@
     }
 
     if (newFocusedElement && newFocusedElement->isFocusable()) {
-        if (newFocusedElement->isRootEditableElement() && !acceptsEditingFocus(newFocusedElement.get())) {
+        if (newFocusedElement->isRootEditableElement() && !acceptsEditingFocus(*newFocusedElement)) {
             // delegate blocks focus change
             focusChangeBlocked = true;
             goto SetFocusedNodeDone;

Modified: trunk/Source/WebCore/editing/Editor.cpp (219684 => 219685)


--- trunk/Source/WebCore/editing/Editor.cpp	2017-07-20 14:30:10 UTC (rev 219684)
+++ trunk/Source/WebCore/editing/Editor.cpp	2017-07-20 14:37:14 UTC (rev 219685)
@@ -463,7 +463,7 @@
 
 void Editor::pasteAsPlainText(const String& pastingText, bool smartReplace)
 {
-    Node* target = findEventTargetFromSelection();
+    Element* target = findEventTargetFromSelection();
     if (!target)
         return;
     target->dispatchEvent(TextEvent::createForPlainTextPaste(document().domWindow(), pastingText, smartReplace));
@@ -471,7 +471,7 @@
 
 void Editor::pasteAsFragment(Ref<DocumentFragment>&& pastingFragment, bool smartReplace, bool matchStyle, MailBlockquoteHandling respectsMailBlockquote)
 {
-    Node* target = findEventTargetFromSelection();
+    Element* target = findEventTargetFromSelection();
     if (!target)
         return;
     target->dispatchEvent(TextEvent::createForFragmentPaste(document().domWindow(), WTFMove(pastingFragment), smartReplace, matchStyle, respectsMailBlockquote));
@@ -779,7 +779,7 @@
 // the event handler NOT setting the return value to false
 bool Editor::dispatchCPPEvent(const AtomicString& eventType, DataTransferAccessPolicy policy)
 {
-    Node* target = findEventTargetFromSelection();
+    Element* target = findEventTargetFromSelection();
     if (!target)
         return true;
 
@@ -804,9 +804,9 @@
     return !noDefaultProcessing;
 }
 
-Node* Editor::findEventTargetFrom(const VisibleSelection& selection) const
+Element* Editor::findEventTargetFrom(const VisibleSelection& selection) const
 {
-    Node* target = selection.start().element();
+    Element* target = selection.start().element();
     if (!target)
         target = document().bodyOrFrameset();
     if (!target)
@@ -815,7 +815,7 @@
     return target;
 }
 
-Node* Editor::findEventTargetFromSelection() const
+Element* Editor::findEventTargetFromSelection() const
 {
     return findEventTargetFrom(m_frame.selection().selection());
 }

Modified: trunk/Source/WebCore/editing/Editor.h (219684 => 219685)


--- trunk/Source/WebCore/editing/Editor.h	2017-07-20 14:30:10 UTC (rev 219684)
+++ trunk/Source/WebCore/editing/Editor.h	2017-07-20 14:37:14 UTC (rev 219685)
@@ -401,7 +401,7 @@
     void clearMisspellingsAndBadGrammar(const VisibleSelection&);
     void markMisspellingsAndBadGrammar(const VisibleSelection&);
 
-    Node* findEventTargetFrom(const VisibleSelection& selection) const;
+    Element* findEventTargetFrom(const VisibleSelection& selection) const;
 
     WEBCORE_EXPORT String selectedText() const;
     String selectedTextForDataTransfer() const;
@@ -541,7 +541,7 @@
 
     void editorUIUpdateTimerFired();
 
-    Node* findEventTargetFromSelection() const;
+    Element* findEventTargetFromSelection() const;
 
     bool unifiedTextCheckerEnabled() const;
 

Modified: trunk/Source/WebCore/page/DragController.cpp (219684 => 219685)


--- trunk/Source/WebCore/page/DragController.cpp	2017-07-20 14:30:10 UTC (rev 219684)
+++ trunk/Source/WebCore/page/DragController.cpp	2017-07-20 14:37:14 UTC (rev 219685)
@@ -517,7 +517,7 @@
 {
     ASSERT(m_page.dragCaretController().hasCaret());
     String text = m_page.dragCaretController().isContentRichlyEditable() ? emptyString() : dragData.asPlainText();
-    Node* target = innerFrame->editor().findEventTargetFrom(m_page.dragCaretController().caretPosition());
+    Element* target = innerFrame->editor().findEventTargetFrom(m_page.dragCaretController().caretPosition());
     return target->dispatchEvent(TextEvent::createForDrop(innerFrame->document()->domWindow(), text));
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to