Title: [156234] trunk/Source/WebCore
Revision
156234
Author
[email protected]
Date
2013-09-21 13:02:35 -0700 (Sat, 21 Sep 2013)

Log Message

Node: FINAL-ize EventTarget overrides.
<https://webkit.org/b/121748>

Reviewed by Darin Adler.

Mark the following Node functions FINAL:

    - scriptExecutionContext()
    - eventTargetData()
    - ensureEventTargetData()

This devirtualizes a myriad of generated calls in the JSC bindings.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (156233 => 156234)


--- trunk/Source/WebCore/ChangeLog	2013-09-21 19:05:41 UTC (rev 156233)
+++ trunk/Source/WebCore/ChangeLog	2013-09-21 20:02:35 UTC (rev 156234)
@@ -1,5 +1,20 @@
 2013-09-21  Andreas Kling  <[email protected]>
 
+        Node: FINAL-ize EventTarget overrides.
+        <https://webkit.org/b/121748>
+
+        Reviewed by Darin Adler.
+
+        Mark the following Node functions FINAL:
+
+            - scriptExecutionContext()
+            - eventTargetData()
+            - ensureEventTargetData()
+
+        This devirtualizes a myriad of generated calls in the JSC bindings.
+
+2013-09-21  Andreas Kling  <[email protected]>
+
         Don't bloat Obj-C bindings with inlined attribute retrieval.
         <https://webkit.org/b/121745>
 

Modified: trunk/Source/WebCore/dom/Document.h (156233 => 156234)


--- trunk/Source/WebCore/dom/Document.h	2013-09-21 19:05:41 UTC (rev 156233)
+++ trunk/Source/WebCore/dom/Document.h	2013-09-21 20:02:35 UTC (rev 156234)
@@ -1632,6 +1632,11 @@
     InspectorCounters::incrementCounter(InspectorCounters::NodeCounter);
 }
 
+inline ScriptExecutionContext* Node::scriptExecutionContext() const
+{
+    return &document();
+}
+
 Node* eventTargetNodeForDocument(Document*);
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/dom/Node.cpp (156233 => 156234)


--- trunk/Source/WebCore/dom/Node.cpp	2013-09-21 19:05:41 UTC (rev 156233)
+++ trunk/Source/WebCore/dom/Node.cpp	2013-09-21 20:02:35 UTC (rev 156234)
@@ -1828,11 +1828,6 @@
     return eventNames().interfaceForNode;
 }
 
-ScriptExecutionContext* Node::scriptExecutionContext() const
-{
-    return &document();
-}
-
 void Node::didMoveToNewDocument(Document* oldDocument)
 {
     TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled(oldDocument);

Modified: trunk/Source/WebCore/dom/Node.h (156233 => 156234)


--- trunk/Source/WebCore/dom/Node.h	2013-09-21 19:05:41 UTC (rev 156233)
+++ trunk/Source/WebCore/dom/Node.h	2013-09-21 20:02:35 UTC (rev 156234)
@@ -529,8 +529,8 @@
     virtual Node* toNode();
     virtual HTMLInputElement* toInputElement();
 
-    virtual const AtomicString& interfaceName() const;
-    virtual ScriptExecutionContext* scriptExecutionContext() const;
+    virtual const AtomicString& interfaceName() const OVERRIDE;
+    virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE FINAL; // Implemented in Document.h
 
     virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture);
     virtual bool removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture);
@@ -574,8 +574,8 @@
     using TreeShared<Node>::ref;
     using TreeShared<Node>::deref;
 
-    virtual EventTargetData* eventTargetData() OVERRIDE;
-    virtual EventTargetData& ensureEventTargetData() OVERRIDE;
+    virtual EventTargetData* eventTargetData() OVERRIDE FINAL;
+    virtual EventTargetData& ensureEventTargetData() OVERRIDE FINAL;
 
     void getRegisteredMutationObserversOfType(HashMap<MutationObserver*, MutationRecordDeliveryOptions>&, MutationObserver::MutationType, const QualifiedName* attributeName);
     void registerMutationObserver(MutationObserver*, MutationObserverOptions, const HashSet<AtomicString>& attributeFilter);

Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (156233 => 156234)


--- trunk/Source/WebCore/html/HTMLMediaElement.h	2013-09-21 19:05:41 UTC (rev 156233)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h	2013-09-21 20:02:35 UTC (rev 156234)
@@ -330,7 +330,7 @@
     // causes an ambiguity error at compile time. This class's constructor
     // ensures that both implementations return document, so return the result
     // of one of them here.
-    virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE { return HTMLElement::scriptExecutionContext(); }
+    using HTMLElement::scriptExecutionContext;
 
     bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSingleSecurityOrigin(); }
     
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to