Title: [293110] trunk/Source/WebCore
Revision
293110
Author
[email protected]
Date
2022-04-20 12:38:00 -0700 (Wed, 20 Apr 2022)

Log Message

Avoid repeated calls to eventNames() in a few more places
https://bugs.webkit.org/show_bug.cgi?id=239548

Reviewed by Yusuke Suzuki.

Avoid repeated calls to eventNames() in a few more places given that it accesses threadGlobalData().

* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
* dom/SimulatedClick.cpp:
(WebCore::simulateClick):
* dom/ios/PointerEventIOS.cpp:
(WebCore::buttonsForType):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::eventListenersDidChange):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
* page/PointerCaptureController.cpp:
(WebCore::PointerCaptureController::cancelPointer):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (293109 => 293110)


--- trunk/Source/WebCore/ChangeLog	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/ChangeLog	2022-04-20 19:38:00 UTC (rev 293110)
@@ -1,3 +1,25 @@
+2022-04-20  Chris Dumez  <[email protected]>
+
+        Avoid repeated calls to eventNames() in a few more places
+        https://bugs.webkit.org/show_bug.cgi?id=239548
+
+        Reviewed by Yusuke Suzuki.
+
+        Avoid repeated calls to eventNames() in a few more places given that it accesses threadGlobalData().
+
+        * dom/MouseEvent.cpp:
+        (WebCore::MouseEvent::create):
+        * dom/SimulatedClick.cpp:
+        (WebCore::simulateClick):
+        * dom/ios/PointerEventIOS.cpp:
+        (WebCore::buttonsForType):
+        * html/HTMLCanvasElement.cpp:
+        (WebCore::HTMLCanvasElement::eventListenersDidChange):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dispatchDragEvent):
+        * page/PointerCaptureController.cpp:
+        (WebCore::PointerCaptureController::cancelPointer):
+
 2022-04-20  Oriol Brufau  <[email protected]>
 
         [css-cascade] Optimize code for deferred properties

Modified: trunk/Source/WebCore/dom/MouseEvent.cpp (293109 => 293110)


--- trunk/Source/WebCore/dom/MouseEvent.cpp	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/dom/MouseEvent.cpp	2022-04-20 19:38:00 UTC (rev 293110)
@@ -50,7 +50,8 @@
 
 Ref<MouseEvent> MouseEvent::create(const AtomString& eventType, RefPtr<WindowProxy>&& view, const PlatformMouseEvent& event, int detail, Node* relatedTarget)
 {
-    bool isMouseEnterOrLeave = eventType == eventNames().mouseenterEvent || eventType == eventNames().mouseleaveEvent;
+    auto& eventNames = WebCore::eventNames();
+    bool isMouseEnterOrLeave = eventType == eventNames.mouseenterEvent || eventType == eventNames.mouseleaveEvent;
     auto isCancelable = !isMouseEnterOrLeave ? IsCancelable::Yes : IsCancelable::No;
     auto canBubble = !isMouseEnterOrLeave ? CanBubble::Yes : CanBubble::No;
     auto isComposed = !isMouseEnterOrLeave ? IsComposed::Yes : IsComposed::No;

Modified: trunk/Source/WebCore/dom/SimulatedClick.cpp (293109 => 293110)


--- trunk/Source/WebCore/dom/SimulatedClick.cpp	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/dom/SimulatedClick.cpp	2022-04-20 19:38:00 UTC (rev 293110)
@@ -86,22 +86,23 @@
     if (element.isDisabledFormControl())
         return false;
 
-    static NeverDestroyed<HashSet<Element*>> elementsDispatchingSimulatedClicks;
+    static MainThreadNeverDestroyed<HashSet<Element*>> elementsDispatchingSimulatedClicks;
     if (!elementsDispatchingSimulatedClicks.get().add(&element).isNewEntry)
         return false;
 
+    auto& eventNames = WebCore::eventNames();
     if (mouseEventOptions == SendMouseOverUpDownEvents)
-        simulateMouseEvent(eventNames().mouseoverEvent, element, underlyingEvent, creationOptions);
+        simulateMouseEvent(eventNames.mouseoverEvent, element, underlyingEvent, creationOptions);
 
     if (mouseEventOptions != SendNoEvents)
-        simulateMouseEvent(eventNames().mousedownEvent, element, underlyingEvent, creationOptions);
+        simulateMouseEvent(eventNames.mousedownEvent, element, underlyingEvent, creationOptions);
     if (mouseEventOptions != SendNoEvents || visualOptions == ShowPressedLook)
         element.setActive(true, true);
     if (mouseEventOptions != SendNoEvents)
-        simulateMouseEvent(eventNames().mouseupEvent, element, underlyingEvent, creationOptions);
+        simulateMouseEvent(eventNames.mouseupEvent, element, underlyingEvent, creationOptions);
     element.setActive(false);
 
-    simulateMouseEvent(eventNames().clickEvent, element, underlyingEvent, creationOptions);
+    simulateMouseEvent(eventNames.clickEvent, element, underlyingEvent, creationOptions);
 
     elementsDispatchingSimulatedClicks.get().remove(&element);
     return true;

Modified: trunk/Source/WebCore/dom/ios/PointerEventIOS.cpp (293109 => 293110)


--- trunk/Source/WebCore/dom/ios/PointerEventIOS.cpp	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/dom/ios/PointerEventIOS.cpp	2022-04-20 19:38:00 UTC (rev 293110)
@@ -58,7 +58,8 @@
 static unsigned short buttonsForType(const AtomString& type)
 {
     // We have contact with the touch surface for most events except when we've released the touch or canceled it.
-    return (type == eventNames().pointerupEvent || type == eventNames().pointeroutEvent || type == eventNames().pointerleaveEvent || type == eventNames().pointercancelEvent) ? 0 : 1;
+    auto& eventNames = WebCore::eventNames();
+    return (type == eventNames.pointerupEvent || type == eventNames.pointeroutEvent || type == eventNames.pointerleaveEvent || type == eventNames.pointercancelEvent) ? 0 : 1;
 }
 
 Ref<PointerEvent> PointerEvent::create(const PlatformTouchEvent& event, unsigned index, bool isPrimary, Ref<WindowProxy>&& view)

Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (293109 => 293110)


--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2022-04-20 19:38:00 UTC (rev 293110)
@@ -985,9 +985,10 @@
 void HTMLCanvasElement::eventListenersDidChange()
 {
 #if ENABLE(WEBGL)
-    m_hasRelevantWebGLEventListener = hasEventListeners(eventNames().webglcontextchangedEvent)
-        || hasEventListeners(eventNames().webglcontextlostEvent)
-        || hasEventListeners(eventNames().webglcontextrestoredEvent);
+    auto& eventNames = WebCore::eventNames();
+    m_hasRelevantWebGLEventListener = hasEventListeners(eventNames.webglcontextchangedEvent)
+        || hasEventListeners(eventNames.webglcontextlostEvent)
+        || hasEventListeners(eventNames.webglcontextrestoredEvent);
 #endif
 }
 

Modified: trunk/Source/WebCore/page/EventHandler.cpp (293109 => 293110)


--- trunk/Source/WebCore/page/EventHandler.cpp	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2022-04-20 19:38:00 UTC (rev 293110)
@@ -2274,15 +2274,16 @@
     dragTarget.dispatchEvent(dragEvent);
 
     if (auto* cache = m_frame.document()->existingAXObjectCache()) {
-        if (eventType == eventNames().dragstartEvent)
+        auto& eventNames = WebCore::eventNames();
+        if (eventType == eventNames.dragstartEvent)
             cache->postNotification(&dragTarget, AXObjectCache::AXDraggingStarted);
-        else if (eventType == eventNames().dragendEvent)
+        else if (eventType == eventNames.dragendEvent)
             cache->postNotification(&dragTarget, AXObjectCache::AXDraggingEnded);
-        else if (eventType == eventNames().dragenterEvent)
+        else if (eventType == eventNames.dragenterEvent)
             cache->postNotification(&dragTarget, AXObjectCache::AXDraggingEnteredDropZone);
-        else if (eventType == eventNames().dragleaveEvent)
+        else if (eventType == eventNames.dragleaveEvent)
             cache->postNotification(&dragTarget, AXObjectCache::AXDraggingExitedDropZone);
-        else if (eventType == eventNames().dropEvent)
+        else if (eventType == eventNames.dropEvent)
             cache->postNotification(&dragTarget, AXObjectCache::AXDraggingDropped);
     }
 

Modified: trunk/Source/WebCore/page/PointerCaptureController.cpp (293109 => 293110)


--- trunk/Source/WebCore/page/PointerCaptureController.cpp	2022-04-20 19:30:06 UTC (rev 293109)
+++ trunk/Source/WebCore/page/PointerCaptureController.cpp	2022-04-20 19:38:00 UTC (rev 293110)
@@ -493,10 +493,11 @@
     // After firing the pointercancel event, a user agent MUST also fire a pointer event named pointerout
     // followed by firing a pointer event named pointerleave.
     auto isPrimary = capturingData->isPrimary ? PointerEvent::IsPrimary::Yes : PointerEvent::IsPrimary::No;
-    auto cancelEvent = PointerEvent::create(eventNames().pointercancelEvent, pointerId, capturingData->pointerType, isPrimary);
+    auto& eventNames = WebCore::eventNames();
+    auto cancelEvent = PointerEvent::create(eventNames.pointercancelEvent, pointerId, capturingData->pointerType, isPrimary);
     target->dispatchEvent(cancelEvent);
-    target->dispatchEvent(PointerEvent::create(eventNames().pointeroutEvent, pointerId, capturingData->pointerType, isPrimary));
-    target->dispatchEvent(PointerEvent::create(eventNames().pointerleaveEvent, pointerId, capturingData->pointerType, isPrimary));
+    target->dispatchEvent(PointerEvent::create(eventNames.pointeroutEvent, pointerId, capturingData->pointerType, isPrimary));
+    target->dispatchEvent(PointerEvent::create(eventNames.pointerleaveEvent, pointerId, capturingData->pointerType, isPrimary));
     processPendingPointerCapture(pointerId);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to