From f01716ead2a9702a7b4d785cd7181889bcaf37ed Mon Sep 17 00:00:00 2001 From: Elliott Sprehn Date: Thu, 23 Oct 2014 15:17:07 -0700 Subject: [PATCH] Remove inline event handler code. R=abarth@chromium.org Review URL: https://codereview.chromium.org/675873002 --- .../bindings/core/v8/ScriptEventListener.cpp | 139 ----------- engine/bindings/core/v8/ScriptEventListener.h | 53 ----- .../bindings/core/v8/V8LazyEventListener.cpp | 217 ------------------ engine/bindings/core/v8/V8LazyEventListener.h | 85 ------- engine/bindings/core/v8/v8.gypi | 4 - engine/core/html/HTMLImageElement.cpp | 1 - engine/core/html/HTMLLinkElement.cpp | 1 - engine/core/html/HTMLMediaElement.cpp | 1 - 8 files changed, 501 deletions(-) delete mode 100644 engine/bindings/core/v8/ScriptEventListener.cpp delete mode 100644 engine/bindings/core/v8/ScriptEventListener.h delete mode 100644 engine/bindings/core/v8/V8LazyEventListener.cpp delete mode 100644 engine/bindings/core/v8/V8LazyEventListener.h diff --git a/engine/bindings/core/v8/ScriptEventListener.cpp b/engine/bindings/core/v8/ScriptEventListener.cpp deleted file mode 100644 index 457035a22..000000000 --- a/engine/bindings/core/v8/ScriptEventListener.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2009 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "bindings/core/v8/ScriptEventListener.h" - -#include "bindings/core/v8/ScriptController.h" -#include "bindings/core/v8/ScriptState.h" -#include "bindings/core/v8/V8AbstractEventListener.h" -#include "bindings/core/v8/V8Binding.h" -#include "bindings/core/v8/WindowProxy.h" -#include "core/dom/Document.h" -#include "core/dom/DocumentParser.h" -#include "core/dom/QualifiedName.h" -#include "core/events/EventListener.h" -#include "core/frame/LocalFrame.h" -#include - -namespace blink { - -static v8::Handle eventListenerEffectiveFunction(v8::Isolate* isolate, v8::Handle listenerObject) -{ - v8::Handle function; - if (listenerObject->IsFunction()) { - function = v8::Handle::Cast(listenerObject); - } else if (listenerObject->IsObject()) { - // Try the "handleEvent" method (EventListener interface). - v8::Handle property = listenerObject->Get(v8AtomicString(isolate, "handleEvent")); - if (property.IsEmpty() || !property->IsFunction()) { - // Fall back to the "constructor" property. - property = listenerObject->Get(v8AtomicString(isolate, "constructor")); - } - if (!property.IsEmpty() && property->IsFunction()) - function = v8::Handle::Cast(property); - } - return function; -} - -String eventListenerHandlerBody(Document* document, EventListener* listener) -{ - if (listener->type() != EventListener::JSEventListenerType) - return ""; - - v8::HandleScope scope(toIsolate(document)); - V8AbstractEventListener* v8Listener = static_cast(listener); - v8::Handle context = toV8Context(document, v8Listener->world()); - v8::Context::Scope contextScope(context); - v8::Handle object = v8Listener->getListenerObject(document); - if (object.IsEmpty()) - return ""; - v8::Handle function = eventListenerEffectiveFunction(scope.GetIsolate(), object); - if (function.IsEmpty()) - return ""; - - TOSTRING_DEFAULT(V8StringResource, functionString, function, ""); - return functionString; -} - -ScriptValue eventListenerHandler(Document* document, EventListener* listener) -{ - if (listener->type() != EventListener::JSEventListenerType) - return ScriptValue(); - - v8::Isolate* isolate = toIsolate(document); - v8::HandleScope scope(isolate); - V8AbstractEventListener* v8Listener = static_cast(listener); - v8::Handle context = toV8Context(document, v8Listener->world()); - v8::Context::Scope contextScope(context); - v8::Handle function = v8Listener->getListenerObject(document); - if (function.IsEmpty()) - return ScriptValue(); - return ScriptValue(ScriptState::from(context), function); -} - -ScriptState* eventListenerHandlerScriptState(LocalFrame* frame, EventListener* listener) -{ - if (listener->type() != EventListener::JSEventListenerType) - return 0; - V8AbstractEventListener* v8Listener = static_cast(listener); - v8::HandleScope scope(toIsolate(frame)); - v8::Handle v8Context = frame->script().windowProxy(v8Listener->world())->context(); - return ScriptState::from(v8Context); -} - -bool eventListenerHandlerLocation(Document* document, EventListener* listener, String& sourceName, String& scriptId, int& lineNumber) -{ - if (listener->type() != EventListener::JSEventListenerType) - return false; - - v8::HandleScope scope(toIsolate(document)); - V8AbstractEventListener* v8Listener = static_cast(listener); - v8::Handle context = toV8Context(document, v8Listener->world()); - v8::Context::Scope contextScope(context); - v8::Local object = v8Listener->getListenerObject(document); - if (object.IsEmpty()) - return false; - v8::Handle function = eventListenerEffectiveFunction(scope.GetIsolate(), object); - if (function.IsEmpty()) - return false; - v8::Handle originalFunction = getBoundFunction(function); - int scriptIdValue = originalFunction->ScriptId(); - scriptId = String::number(scriptIdValue); - v8::ScriptOrigin origin = originalFunction->GetScriptOrigin(); - if (!origin.ResourceName().IsEmpty() && origin.ResourceName()->IsString()) - sourceName = toCoreString(origin.ResourceName().As()); - else - sourceName = ""; - lineNumber = originalFunction->GetScriptLineNumber(); - return true; -} - -} // namespace blink diff --git a/engine/bindings/core/v8/ScriptEventListener.h b/engine/bindings/core/v8/ScriptEventListener.h deleted file mode 100644 index c1ca7ee3e..000000000 --- a/engine/bindings/core/v8/ScriptEventListener.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2009 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ScriptEventListener_h -#define ScriptEventListener_h - -#include "bindings/core/v8/ScriptValue.h" -#include "bindings/core/v8/V8LazyEventListener.h" -#include "wtf/PassRefPtr.h" - -namespace blink { - -class Document; -class EventListener; -class LocalFrame; -class Node; -class QualifiedName; - -String eventListenerHandlerBody(Document*, EventListener*); -ScriptValue eventListenerHandler(Document*, EventListener*); -ScriptState* eventListenerHandlerScriptState(LocalFrame*, EventListener*); -bool eventListenerHandlerLocation(Document*, EventListener*, String& sourceName, String& scriptId, int& lineNumber); - -} // namespace blink - -#endif // ScriptEventListener_h diff --git a/engine/bindings/core/v8/V8LazyEventListener.cpp b/engine/bindings/core/v8/V8LazyEventListener.cpp deleted file mode 100644 index 3d6d5f5f5..000000000 --- a/engine/bindings/core/v8/V8LazyEventListener.cpp +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "bindings/core/v8/V8LazyEventListener.h" - -#include "bindings/core/v8/ScriptController.h" -#include "bindings/core/v8/ScriptSourceCode.h" -#include "bindings/core/v8/V8Binding.h" -#include "bindings/core/v8/V8DOMWrapper.h" -#include "bindings/core/v8/V8Document.h" -#include "bindings/core/v8/V8HiddenValue.h" -#include "bindings/core/v8/V8Node.h" -#include "bindings/core/v8/V8ScriptRunner.h" -#include "core/dom/Document.h" -#include "core/dom/Node.h" -#include "core/frame/LocalFrame.h" -#include "core/html/HTMLElement.h" - -#include "wtf/StdLibExtras.h" - -namespace blink { - -V8LazyEventListener::V8LazyEventListener(const AtomicString& functionName, const AtomicString& eventParameterName, const String& code, const String sourceURL, const TextPosition& position, Node* node, v8::Isolate* isolate) - : V8AbstractEventListener(true, isolate) - , m_functionName(functionName) - , m_eventParameterName(eventParameterName) - , m_code(code) - , m_sourceURL(sourceURL) - , m_node(node) - , m_position(position) -{ -} - -template -v8::Handle toObjectWrapper(T* domObject, ScriptState* scriptState) -{ - if (!domObject) - return v8::Object::New(scriptState->isolate()); - v8::Handle value = toV8(domObject, scriptState->context()->Global(), scriptState->isolate()); - if (value.IsEmpty()) - return v8::Object::New(scriptState->isolate()); - return v8::Local::New(scriptState->isolate(), value.As()); -} - -v8::Local V8LazyEventListener::callListenerFunction(v8::Handle jsEvent, Event* event) -{ - v8::Local listenerObject = getListenerObject(scriptState()->executionContext()); - if (listenerObject.IsEmpty()) - return v8::Local(); - - v8::Local handlerFunction = listenerObject.As(); - v8::Local receiver = getReceiverObject(event); - if (handlerFunction.IsEmpty() || receiver.IsEmpty()) - return v8::Local(); - - if (!scriptState()->executionContext()->isDocument()) - return v8::Local(); - - LocalFrame* frame = toDocument(scriptState()->executionContext())->frame(); - if (!frame) - return v8::Local(); - - v8::Handle parameters[1] = { jsEvent }; - return frame->script().callFunction(handlerFunction, receiver, WTF_ARRAY_LENGTH(parameters), parameters); -} - -static void V8LazyEventListenerToString(const v8::FunctionCallbackInfo& info) -{ - v8SetReturnValue(info, V8HiddenValue::getHiddenValue(info.GetIsolate(), info.Holder(), V8HiddenValue::toStringString(info.GetIsolate()))); -} - -void V8LazyEventListener::handleEvent(ExecutionContext* context, Event* event) -{ - v8::HandleScope handleScope(toIsolate(context)); - // V8LazyEventListener doesn't know the associated context when created. - // Thus we lazily get the associated context and set a ScriptState on V8AbstractEventListener. - v8::Local v8Context = toV8Context(context, world()); - if (v8Context.IsEmpty()) - return; - setScriptState(ScriptState::from(v8Context)); - - V8AbstractEventListener::handleEvent(context, event); -} - -void V8LazyEventListener::prepareListenerObject(ExecutionContext* context) -{ - v8::HandleScope handleScope(toIsolate(context)); - // V8LazyEventListener doesn't know the associated context when created. - // Thus we lazily get the associated context and set a ScriptState on V8AbstractEventListener. - v8::Local v8Context = toV8Context(context, world()); - if (v8Context.IsEmpty()) - return; - setScriptState(ScriptState::from(v8Context)); - - if (context->isDocument()) { - clearListenerObject(); - return; - } - - if (hasExistingListenerObject()) - return; - - ASSERT(context->isDocument()); - - ScriptState::Scope scope(scriptState()); - - // FIXME: Remove the following 'with' hack. - // - // Nodes other than the document object, when executing inline event - // handlers push document, form owner, and the target node on the scope chain. - // We do this by using 'with' statement. - // See chrome/fast/forms/form-action.html - // chrome/fast/forms/selected-index-value.html - // base/fast/overflow/onscroll-layer-self-destruct.html - // - // Don't use new lines so that lines in the modified handler - // have the same numbers as in the original code. - // FIXME: V8 does not allow us to programmatically create object environments so - // we have to do this hack! What if m_code escapes to run arbitrary script? - // - // Call with 4 arguments instead of 3, pass additional null as the last parameter. - // By calling the function with 4 arguments, we create a setter on arguments object - // which would shadow property "3" on the prototype. - String code = "(function() {" - "with (this[1]) {" - "with (this[0]) {" - "return function(" + m_eventParameterName + ") {" + - m_code + "\n" // Insert '\n' otherwise //-style comments could break the handler. - "};" - "}}})"; - - v8::Handle codeExternalString = v8String(isolate(), code); - - v8::Local result = V8ScriptRunner::compileAndRunInternalScript(codeExternalString, isolate(), m_sourceURL, m_position); - if (result.IsEmpty()) - return; - - // Call the outer function to get the inner function. - ASSERT(result->IsFunction()); - v8::Local intermediateFunction = result.As(); - - v8::Handle nodeWrapper = toObjectWrapper(m_node, scriptState()); - v8::Handle documentWrapper = toObjectWrapper(m_node ? m_node->ownerDocument() : 0, scriptState()); - - v8::Local thisObject = v8::Object::New(isolate()); - if (thisObject.IsEmpty()) - return; - if (!thisObject->ForceSet(v8::Integer::New(isolate(), 0), nodeWrapper)) - return; - if (!thisObject->ForceSet(v8::Integer::New(isolate(), 1), documentWrapper)) - return; - - // FIXME: Remove this code when we stop doing the 'with' hack above. - v8::Local innerValue = V8ScriptRunner::callInternalFunction(intermediateFunction, thisObject, 0, 0, isolate()); - if (innerValue.IsEmpty() || !innerValue->IsFunction()) - return; - - v8::Local wrappedFunction = innerValue.As(); - - // Change the toString function on the wrapper function to avoid it - // returning the source for the actual wrapper function. Instead it - // returns source for a clean wrapper function with the event - // argument wrapping the event source code. The reason for this is - // that some web sites use toString on event functions and eval the - // source returned (sometimes a RegExp is applied as well) for some - // other use. That fails miserably if the actual wrapper source is - // returned. - v8::Local toStringFunction = v8::Function::New(isolate(), V8LazyEventListenerToString); - ASSERT(!toStringFunction.IsEmpty()); - String toStringString = "function " + m_functionName + "(" + m_eventParameterName + ") {\n " + m_code + "\n}"; - V8HiddenValue::setHiddenValue(isolate(), wrappedFunction, V8HiddenValue::toStringString(isolate()), v8String(isolate(), toStringString)); - wrappedFunction->Set(v8AtomicString(isolate(), "toString"), toStringFunction); - wrappedFunction->SetName(v8String(isolate(), m_functionName)); - - // FIXME: Remove the following comment-outs. - // See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details. - // - // For the time being, we comment out the following code since the - // second parsing can happen. - // // Since we only parse once, there's no need to keep data used for parsing around anymore. - // m_functionName = String(); - // m_code = String(); - // m_eventParameterName = String(); - // m_sourceURL = String(); - - setListenerObject(wrappedFunction); -} - -} // namespace blink diff --git a/engine/bindings/core/v8/V8LazyEventListener.h b/engine/bindings/core/v8/V8LazyEventListener.h deleted file mode 100644 index 27c4af1ab..000000000 --- a/engine/bindings/core/v8/V8LazyEventListener.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef V8LazyEventListener_h -#define V8LazyEventListener_h - -#include "bindings/core/v8/V8AbstractEventListener.h" -#include "wtf/PassRefPtr.h" -#include "wtf/text/TextPosition.h" -#include "wtf/text/WTFString.h" -#include - -namespace blink { - -class Event; -class LocalFrame; -class Node; - -// V8LazyEventListener is a wrapper for a JavaScript code string that is compiled and evaluated when an event is fired. -// A V8LazyEventListener is either a HTML or SVG event handler. -class V8LazyEventListener FINAL : public V8AbstractEventListener { -public: - static PassRefPtr create(const AtomicString& functionName, const AtomicString& eventParameterName, const String& code, const String& sourceURL, const TextPosition& position, Node* node, v8::Isolate* isolate) - { - return adoptRef(new V8LazyEventListener(functionName, eventParameterName, code, sourceURL, position, node, isolate)); - } - - virtual bool isLazy() const OVERRIDE { return true; } - // V8LazyEventListener is always for the main world. - virtual DOMWrapperWorld& world() const OVERRIDE { return DOMWrapperWorld::mainWorld(); } - - virtual void handleEvent(ExecutionContext*, Event*) OVERRIDE; - -protected: - virtual void prepareListenerObject(ExecutionContext*) OVERRIDE; - -private: - V8LazyEventListener(const AtomicString& functionName, const AtomicString& eventParameterName, const String& code, const String sourceURL, const TextPosition&, Node*, v8::Isolate*); - - virtual v8::Local callListenerFunction(v8::Handle jsEvent, Event*) OVERRIDE; - - // Needs to return true for all event handlers implemented in JavaScript so that - // the SVG code does not add the event handler in both - // SVGUseElement::buildShadowTree and again in - // SVGUseElement::transferEventListenersToShadowTree - virtual bool wasCreatedFromMarkup() const OVERRIDE { return true; } - - AtomicString m_functionName; - AtomicString m_eventParameterName; - String m_code; - String m_sourceURL; - Node* m_node; - TextPosition m_position; -}; - -} // namespace blink - -#endif // V8LazyEventListener_h diff --git a/engine/bindings/core/v8/v8.gypi b/engine/bindings/core/v8/v8.gypi index 5694de28d..65188c879 100644 --- a/engine/bindings/core/v8/v8.gypi +++ b/engine/bindings/core/v8/v8.gypi @@ -49,8 +49,6 @@ 'ScriptCallStackFactory.h', 'ScriptController.cpp', 'ScriptController.h', - 'ScriptEventListener.cpp', - 'ScriptEventListener.h', 'ScriptFunction.cpp', 'ScriptFunction.h', 'ScriptFunctionCall.cpp', @@ -108,8 +106,6 @@ 'V8HiddenValue.h', 'V8Initializer.cpp', 'V8Initializer.h', - 'V8LazyEventListener.cpp', - 'V8LazyEventListener.h', 'V8MutationCallback.cpp', 'V8MutationCallback.h', 'V8ObjectConstructor.cpp', diff --git a/engine/core/html/HTMLImageElement.cpp b/engine/core/html/HTMLImageElement.cpp index 81529c083..e6026bcff 100644 --- a/engine/core/html/HTMLImageElement.cpp +++ b/engine/core/html/HTMLImageElement.cpp @@ -23,7 +23,6 @@ #include "config.h" #include "core/html/HTMLImageElement.h" -#include "bindings/core/v8/ScriptEventListener.h" #include "core/CSSPropertyNames.h" #include "core/HTMLNames.h" #include "core/MediaTypeNames.h" diff --git a/engine/core/html/HTMLLinkElement.cpp b/engine/core/html/HTMLLinkElement.cpp index 90e14b8b6..0335426a6 100644 --- a/engine/core/html/HTMLLinkElement.cpp +++ b/engine/core/html/HTMLLinkElement.cpp @@ -25,7 +25,6 @@ #include "config.h" #include "core/html/HTMLLinkElement.h" -#include "bindings/core/v8/ScriptEventListener.h" #include "core/HTMLNames.h" #include "core/css/MediaList.h" #include "core/css/MediaQueryEvaluator.h" diff --git a/engine/core/html/HTMLMediaElement.cpp b/engine/core/html/HTMLMediaElement.cpp index 923ac0801..bd50e21eb 100644 --- a/engine/core/html/HTMLMediaElement.cpp +++ b/engine/core/html/HTMLMediaElement.cpp @@ -30,7 +30,6 @@ #include "bindings/core/v8/ExceptionState.h" #include "bindings/core/v8/ExceptionStatePlaceholder.h" #include "bindings/core/v8/ScriptController.h" -#include "bindings/core/v8/ScriptEventListener.h" #include "core/HTMLNames.h" #include "core/css/MediaList.h" #include "core/dom/Attribute.h" -- GitLab