⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 199642 in webkit


Ignore:
Timestamp:
Apr 17, 2016, 11:39:13 AM (10 years ago)
Author:
Darin Adler
Message:

Remove more uses of Deprecated::ScriptXXX
https://bugs.webkit.org/show_bug.cgi?id=156660

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

  • bindings/ScriptFunctionCall.cpp:

(Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted
unneeded overloads that take a ScriptObject and ScriptValue.

  • bindings/ScriptFunctionCall.h: Ditto.
  • bindings/ScriptObject.h: Added operator so this can change

itself into a JSObject*. Helps while phasing this class out.

  • bindings/ScriptValue.h: Export toInspectorValue so it can be

used in WebCore.

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::createInjectedScript): Changed
return value from Deprecated::ScriptObject to JSObject*.
(Inspector::InjectedScriptManager::injectedScriptFor): Updated for
the return value change above.

  • inspector/InjectedScriptManager.h: Ditto.

Source/WebCore:

  • Modules/mediacontrols/MediaControlsHost.h: Removed unneeded include.
  • Modules/plugins/PluginReplacement.h: Removed unneeded include.

Changed argument to installReplacement into a reference. Changed return
value for creation function from PassRefPtr to Ref.

  • Modules/plugins/QuickTimePluginReplacement.h: Removed unneeded includes and

forward declarations. Marked class final. Made almost everything private.

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::create): Changed to return Ref.
(WebCore::QuickTimePluginReplacement::installReplacement): Changed to take
a reference.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::create): Changed to return Ref.
(WebCore::YouTubePluginReplacement::installReplacement): Changed to take
a reference.

  • Modules/plugins/YouTubePluginReplacement.h: Removed unneeded includes and

forward declarations. Marked class final. Changed return type of create.

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::didReceiveBinaryData): Removed local variable so the
MessageEvent::create function gets a Ref&& instead of a RefPtr without having
to add explicit WTFMove.

  • bindings/js/DOMRequestState.h: Removed code that set m_exec twice.
  • bindings/js/Dictionary.h: Reformatted function templates to use a single

line so they are easier to look at.
(WebCore::Dictionary::getEventListener): Rewrote this so it no longer uses
a Deprecated::ScriptValue and also make it a little more compact and terse.

  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::inspect): Rewrote to use JSValue instead of
Deprecated::ScriptValue. Considerably more efficient.

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data): Streamlined to use Deprecated::ScriptValue
a little bit less.

  • bindings/js/JSNodeCustom.cpp: Moved include here from header.
  • bindings/js/JSNodeCustom.h: Moved include from here to cpp file.
  • bindings/js/JSPopStateEventCustom.cpp:

(WebCore::JSPopStateEvent::state): Updated for changes to return value of the
state() and serializedState functions.

  • bindings/js/ScriptState.h: Removed the ScriptState typedef.
  • bindings/js/SerializedScriptValue.cpp: Moved include here from header.
  • bindings/js/SerializedScriptValue.h: Moved include from here to cpp file.
  • css/FontFace.cpp:

(WebCore::FontFace::create): Changed argument to JSValue instead of ScriptValue.

  • css/FontFace.h: Ditto.
  • dom/MessageEvent.cpp: Moved create functions in here from header file.

Removed some unused ones including one that took a Deprecated::ScriptValue.

  • dom/MessageEvent.h: Streamlined create functions, removing unused functions,

unused arguments, and unused default values for arguments. Also moved them all
into the cpp file instead of inlining them. Also changed the return type of
dataAsScriptValue to JSValue.

  • dom/NodeFilterCondition.h: Removed unneeded include. Tweaked formatting.
  • dom/PopStateEvent.h: Changed return value of state to be a JSValue and of

serializedState to be a raw pointer, not a PassRefPtr.

  • dom/Traversal.h: Removed unneeded include. Removed unnecessary use of

unsigned long instead of unsigned. Fixed indentation.

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Pass reference.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForEventListener): Pass JSValue instead
of constructing a Deprecated::ScriptValue.

  • inspector/InspectorFrontendHost.cpp:

(WebCore::FrontendMenuProvider::disconnect): Initialize without explicitly
mentioning the Deprecated::ScriptObject type.

  • inspector/InspectorIndexedDBAgent.cpp: Removed unneeded include.
  • inspector/InspectorInstrumentation.h: Removed unneeded include and also

declaration of two non-existent functions.

  • page/DOMWindow.cpp:

(WebCore::PostMessageTimer::PostMessageTimer): Tweaked types a little bit to
match what is used in MessageEvent now.
(WebCore::PostMessageTimer::event): Streamlined a bit and changed type to
reference.
(WebCore::DOMWindow::postMessage): Updated for changes above.
(WebCore::DOMWindow::postMessageTimerFired): Ditto.

  • page/EventSource.cpp:

(WebCore::EventSource::createMessageEvent): Removed now-unneeded
"false, false" from MessageEvent::create function call.

  • page/csp/ContentSecurityPolicy.h: Removed unneeded include.
  • page/csp/ContentSecurityPolicyDirectiveList.h: Removed unneeded

include and also unneeded non-copyable, since the class has a reference as
a data member and so is automatically non-copyable.

  • testing/Internals.cpp:

(WebCore::Internals::description): Changed to take JSValue.
(WebCore::Internals::parserMetaData): Ditto.
(WebCore::Internals::serializeObject): Removed unnecessary copying of vector.
(WebCore::Internals::isFromCurrentWorld): Changed to take JSValue.
(WebCore::Internals::isReadableStreamDisturbed): Changed to not rely on the
ScriptState typedef and call it JSC::ExecState.

  • testing/Internals.h: Removed unneeded includes. Removed unneeded and

inappropriate use of ASSERT_NO_EXCEPTION.

Location:
trunk/Source
Files:
44 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r199639 r199642  
     12016-04-17  Darin Adler  <darin@apple.com>
     2
     3        Remove more uses of Deprecated::ScriptXXX
     4        https://bugs.webkit.org/show_bug.cgi?id=156660
     5
     6        Reviewed by Antti Koivisto.
     7
     8        * bindings/ScriptFunctionCall.cpp:
     9        (Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted
     10        unneeded overloads that take a ScriptObject and ScriptValue.
     11        * bindings/ScriptFunctionCall.h: Ditto.
     12
     13        * bindings/ScriptObject.h: Added operator so this can change
     14        itself into a JSObject*. Helps while phasing this class out.
     15
     16        * bindings/ScriptValue.h: Export toInspectorValue so it can be
     17        used in WebCore.
     18
     19        * inspector/InjectedScriptManager.cpp:
     20        (Inspector::InjectedScriptManager::createInjectedScript): Changed
     21        return value from Deprecated::ScriptObject to JSObject*.
     22        (Inspector::InjectedScriptManager::injectedScriptFor): Updated for
     23        the return value change above.
     24        * inspector/InjectedScriptManager.h: Ditto.
     25
    1262016-04-16  Benjamin Poulain  <bpoulain@webkit.org>
    227
  • trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp

    r199619 r199642  
    4141
    4242namespace Deprecated {
    43 
    44 void ScriptCallArgumentHandler::appendArgument(const Deprecated::ScriptObject& argument)
    45 {
    46     if (argument.scriptState() != m_exec) {
    47         ASSERT_NOT_REACHED();
    48         return;
    49     }
    50     m_arguments.append(argument.jsObject());
    51 }
    5243
    5344void ScriptCallArgumentHandler::appendArgument(const String& argument)
  • trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h

    r199619 r199642  
    4747    ScriptCallArgumentHandler(JSC::ExecState* state) : m_exec(state) { }
    4848
    49     void appendArgument(const ScriptObject&);
    50     void appendArgument(const ScriptValue&);
    5149    void appendArgument(const char*);
    5250    void appendArgument(const String&);
  • trunk/Source/JavaScriptCore/bindings/ScriptObject.h

    r160457 r199642  
    3030 */
    3131
    32 #ifndef ScriptObject_h
    33 #define ScriptObject_h
     32#pragma once
    3433
    3534#include "JSObject.h"
     
    4241    JS_EXPORT_PRIVATE ScriptObject(JSC::ExecState*, JSC::JSObject*);
    4342    JS_EXPORT_PRIVATE ScriptObject(JSC::ExecState*, const ScriptValue&);
    44     ScriptObject() : m_scriptState(nullptr) { }
     43    ScriptObject() { }
     44
     45    operator JSC::JSObject*() const { return jsObject(); }
    4546
    4647    JSC::JSObject* jsObject() const { return asObject(jsValue()); }
    4748    JSC::ExecState* scriptState() const { return m_scriptState; }
    4849
    49 protected:
    50     JSC::ExecState* m_scriptState;
     50private:
     51    JSC::ExecState* m_scriptState { nullptr };
    5152};
    5253
    5354} // namespace Deprecated
    54 
    55 #endif // ScriptObject_h
  • trunk/Source/JavaScriptCore/bindings/ScriptValue.h

    r199619 r199642  
    4444class InspectorValue;
    4545
    46 RefPtr<InspectorValue> toInspectorValue(JSC::ExecState&, JSC::JSValue);
     46JS_EXPORT_PRIVATE RefPtr<InspectorValue> toInspectorValue(JSC::ExecState&, JSC::JSValue);
    4747
    4848}
  • trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp

    r197614 r199642  
    132132}
    133133
    134 Deprecated::ScriptObject InjectedScriptManager::createInjectedScript(const String& source, ExecState* scriptState, int id)
     134JSC::JSObject* InjectedScriptManager::createInjectedScript(const String& source, ExecState* scriptState, int id)
    135135{
    136136    JSLockHolder lock(scriptState);
     
    144144    JSValue functionValue = evaluateHandler(scriptState, sourceCode, globalThisValue, evaluationException);
    145145    if (evaluationException)
    146         return Deprecated::ScriptObject();
     146        return nullptr;
    147147
    148148    CallData callData;
    149149    CallType callType = getCallData(functionValue, callData);
    150150    if (callType == CallType::None)
    151         return Deprecated::ScriptObject();
     151        return nullptr;
    152152
    153153    MarkedArgumentBuffer args;
     
    158158    JSValue result = JSC::call(scriptState, functionValue, callType, callData, globalThisValue, args);
    159159    scriptState->clearException();
    160     if (result.isObject())
    161         return Deprecated::ScriptObject(scriptState, result.getObject());
    162 
    163     return Deprecated::ScriptObject();
     160    return result.getObject();
    164161}
    165162
     
    177174
    178175    int id = injectedScriptIdFor(inspectedExecState);
    179     Deprecated::ScriptObject injectedScriptObject = createInjectedScript(injectedScriptSource(), inspectedExecState, id);
    180     if (injectedScriptObject.scriptState() != inspectedExecState) {
     176    auto injectedScriptObject = createInjectedScript(injectedScriptSource(), inspectedExecState, id);
     177    if (!injectedScriptObject) {
    181178        WTFLogAlways("Failed to parse/execute InjectedScriptSource.js!");
    182179        WTFLogAlways("%s\n", injectedScriptSource().ascii().data());
     
    184181    }
    185182
    186     InjectedScript result(injectedScriptObject, &m_environment);
     183    InjectedScript result({ inspectedExecState, injectedScriptObject }, &m_environment);
    187184    m_idToInjectedScript.set(id, result);
    188185    didCreateInjectedScript(result);
  • trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.h

    r192186 r199642  
    7575private:
    7676    String injectedScriptSource();
    77     Deprecated::ScriptObject createInjectedScript(const String& source, JSC::ExecState*, int id);
     77    JSC::JSObject* createInjectedScript(const String& source, JSC::ExecState*, int id);
    7878
    7979    InspectorEnvironment& m_environment;
  • trunk/Source/WebCore/ChangeLog

    r199641 r199642  
     12016-04-17  Darin Adler  <darin@apple.com>
     2
     3        Remove more uses of Deprecated::ScriptXXX
     4        https://bugs.webkit.org/show_bug.cgi?id=156660
     5
     6        Reviewed by Antti Koivisto.
     7
     8        * Modules/mediacontrols/MediaControlsHost.h: Removed unneeded include.
     9
     10        * Modules/plugins/PluginReplacement.h: Removed unneeded include.
     11        Changed argument to installReplacement into a reference. Changed return
     12        value for creation function from PassRefPtr to Ref.
     13
     14        * Modules/plugins/QuickTimePluginReplacement.h: Removed unneeded includes and
     15        forward declarations. Marked class final. Made almost everything private.
     16
     17        * Modules/plugins/QuickTimePluginReplacement.mm:
     18        (WebCore::QuickTimePluginReplacement::create): Changed to return Ref.
     19        (WebCore::QuickTimePluginReplacement::installReplacement): Changed to take
     20        a reference.
     21
     22        * Modules/plugins/YouTubePluginReplacement.cpp:
     23        (WebCore::YouTubePluginReplacement::create): Changed to return Ref.
     24        (WebCore::YouTubePluginReplacement::installReplacement): Changed to take
     25        a reference.
     26
     27        * Modules/plugins/YouTubePluginReplacement.h: Removed unneeded includes and
     28        forward declarations. Marked class final. Changed return type of create.
     29
     30        * Modules/websockets/WebSocket.cpp:
     31        (WebCore::WebSocket::didReceiveBinaryData): Removed local variable so the
     32        MessageEvent::create function gets a Ref&& instead of a RefPtr without having
     33        to add explicit WTFMove.
     34
     35        * bindings/js/DOMRequestState.h: Removed code that set m_exec twice.
     36
     37        * bindings/js/Dictionary.h: Reformatted function templates to use a single
     38        line so they are easier to look at.
     39        (WebCore::Dictionary::getEventListener): Rewrote this so it no longer uses
     40        a Deprecated::ScriptValue and also make it a little more compact and terse.
     41
     42        * bindings/js/JSCommandLineAPIHostCustom.cpp:
     43        (WebCore::JSCommandLineAPIHost::inspect): Rewrote to use JSValue instead of
     44        Deprecated::ScriptValue. Considerably more efficient.
     45
     46        * bindings/js/JSMessageEventCustom.cpp:
     47        (WebCore::JSMessageEvent::data): Streamlined to use Deprecated::ScriptValue
     48        a little bit less.
     49
     50        * bindings/js/JSNodeCustom.cpp: Moved include here from header.
     51        * bindings/js/JSNodeCustom.h: Moved include from here to cpp file.
     52
     53        * bindings/js/JSPopStateEventCustom.cpp:
     54        (WebCore::JSPopStateEvent::state): Updated for changes to return value of the
     55        state() and serializedState functions.
     56
     57        * bindings/js/ScriptState.h: Removed the ScriptState typedef.
     58
     59        * bindings/js/SerializedScriptValue.cpp: Moved include here from header.
     60        * bindings/js/SerializedScriptValue.h: Moved include from here to cpp file.
     61
     62        * css/FontFace.cpp:
     63        (WebCore::FontFace::create): Changed argument to JSValue instead of ScriptValue.
     64        * css/FontFace.h: Ditto.
     65
     66        * dom/MessageEvent.cpp: Moved create functions in here from header file.
     67        Removed some unused ones including one that took a Deprecated::ScriptValue.
     68        * dom/MessageEvent.h: Streamlined create functions, removing unused functions,
     69        unused arguments, and unused default values for arguments. Also moved them all
     70        into the cpp file instead of inlining them. Also changed the return type of
     71        dataAsScriptValue to JSValue.
     72
     73        * dom/NodeFilterCondition.h: Removed unneeded include. Tweaked formatting.
     74
     75        * dom/PopStateEvent.h: Changed return value of state to be a JSValue and of
     76        serializedState to be a raw pointer, not a PassRefPtr.
     77
     78        * dom/Traversal.h: Removed unneeded include. Removed unnecessary use of
     79        unsigned long instead of unsigned. Fixed indentation.
     80
     81        * html/HTMLPlugInElement.cpp:
     82        (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Pass reference.
     83
     84        * inspector/InspectorDOMAgent.cpp:
     85        (WebCore::InspectorDOMAgent::buildObjectForEventListener): Pass JSValue instead
     86        of constructing a Deprecated::ScriptValue.
     87
     88        * inspector/InspectorFrontendHost.cpp:
     89        (WebCore::FrontendMenuProvider::disconnect): Initialize without explicitly
     90        mentioning the Deprecated::ScriptObject type.
     91
     92        * inspector/InspectorIndexedDBAgent.cpp: Removed unneeded include.
     93
     94        * inspector/InspectorInstrumentation.h: Removed unneeded include and also
     95        declaration of two non-existent functions.
     96
     97        * page/DOMWindow.cpp:
     98        (WebCore::PostMessageTimer::PostMessageTimer): Tweaked types a little bit to
     99        match what is used in MessageEvent now.
     100        (WebCore::PostMessageTimer::event): Streamlined a bit and changed type to
     101        reference.
     102        (WebCore::DOMWindow::postMessage): Updated for changes above.
     103        (WebCore::DOMWindow::postMessageTimerFired): Ditto.
     104
     105        * page/EventSource.cpp:
     106        (WebCore::EventSource::createMessageEvent): Removed now-unneeded
     107        "false, false" from MessageEvent::create function call.
     108
     109        * page/csp/ContentSecurityPolicy.h: Removed unneeded include.
     110
     111        * page/csp/ContentSecurityPolicyDirectiveList.h: Removed unneeded
     112        include and also unneeded non-copyable, since the class has a reference as
     113        a data member and so is automatically non-copyable.
     114
     115        * testing/Internals.cpp:
     116        (WebCore::Internals::description): Changed to take JSValue.
     117        (WebCore::Internals::parserMetaData): Ditto.
     118        (WebCore::Internals::serializeObject): Removed unnecessary copying of vector.
     119        (WebCore::Internals::isFromCurrentWorld): Changed to take JSValue.
     120        (WebCore::Internals::isReadableStreamDisturbed): Changed to not rely on the
     121        ScriptState typedef and call it JSC::ExecState.
     122
     123        * testing/Internals.h: Removed unneeded includes. Removed unneeded and
     124        inappropriate use of ASSERT_NO_EXCEPTION.
     125
    11262016-04-17  Youenn Fablet  <youenn.fablet@crf.canon.fr>
    2127
  • trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h

    r196010 r199642  
    2424 */
    2525
    26 #ifndef MediaControlsHost_h
    27 #define MediaControlsHost_h
     26#pragma once
    2827
    2928#if ENABLE(MEDIA_CONTROLS_SCRIPT)
    3029
    31 #include "ScriptState.h"
    3230#include <bindings/ScriptObject.h>
    3331#include <wtf/RefCounted.h>
     
    9189
    9290#endif
    93 
    94 #endif
  • trunk/Source/WebCore/Modules/plugins/PluginReplacement.h

    r183160 r199642  
    2424 */
    2525
    26 #ifndef PluginReplacement_h
    27 #define PluginReplacement_h
     26#pragma once
    2827
    2928#include "RenderPtr.h"
    30 #include <wtf/RefCounted.h>
    3129#include <wtf/text/WTFString.h>
    3230
     
    4846    virtual ~PluginReplacement() { }
    4947
    50     virtual bool installReplacement(ShadowRoot*) = 0;
    51     virtual JSC::JSObject* scriptObject() { return 0; }
     48    virtual bool installReplacement(ShadowRoot&) = 0;
     49    virtual JSC::JSObject* scriptObject() { return nullptr; }
    5250
    5351    virtual bool willCreateRenderer() { return false; }
    5452    virtual RenderPtr<RenderElement> createElementRenderer(HTMLPlugInElement&, Ref<RenderStyle>&&, const RenderTreePosition&) = 0;
    55 
    56 protected:
    57     PluginReplacement() { }
    5853};
    5954
    60 typedef PassRefPtr<PluginReplacement> (*CreatePluginReplacement)(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
     55typedef Ref<PluginReplacement> (*CreatePluginReplacement)(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
    6156typedef bool (*PluginReplacementSupportsType)(const String&);
    6257typedef bool (*PluginReplacementSupportsFileExtension)(const String&);
     
    8176    }
    8277
    83     PassRefPtr<PluginReplacement> create(HTMLPlugInElement& element, const Vector<String>& paramNames, const Vector<String>& paramValues) const { return m_constructor(element, paramNames, paramValues); }
     78    Ref<PluginReplacement> create(HTMLPlugInElement& element, const Vector<String>& paramNames, const Vector<String>& paramValues) const { return m_constructor(element, paramNames, paramValues); }
    8479    bool supportsType(const String& mimeType) const { return m_supportsType(mimeType); }
    8580    bool supportsFileExtension(const String& extension) const { return m_supportsFileExtension(extension); }
     
    9691
    9792}
    98 
    99 #endif
  • trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h

    r197563 r199642  
    2424 */
    2525
    26 #ifndef QuickTimePluginReplacement_h
    27 #define QuickTimePluginReplacement_h
     26#pragma once
    2827
    2928#include "PluginReplacement.h"
    30 #include "ScriptState.h"
    31 #include <bindings/ScriptObject.h>
    32 #include <wtf/RefCounted.h>
    33 #include <wtf/text/WTFString.h>
    3429
    3530namespace WebCore {
    3631
    37 class HTMLPlugInElement;
     32class DOMWrapperWorld;
    3833class HTMLVideoElement;
    39 class RenderElement;
    40 class RenderStyle;
    41 class ShadowRoot;
    4234
    43 class QuickTimePluginReplacement : public PluginReplacement {
     35class QuickTimePluginReplacement final : public PluginReplacement {
    4436public:
    4537    static void registerPluginReplacement(PluginReplacementRegistrar);
    46     static bool supportsMimeType(const String&);
    47     static bool supportsFileExtension(const String&);
    48     static bool supportsURL(const URL&) { return true; }
    49    
    50     static PassRefPtr<PluginReplacement> create(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
    51     ~QuickTimePluginReplacement();
    5238
    53     bool installReplacement(ShadowRoot*) override;
    54     JSC::JSObject* scriptObject() override { return m_scriptObject; }
    55 
    56     bool willCreateRenderer() override { return m_mediaElement; }
    57     RenderPtr<RenderElement> createElementRenderer(HTMLPlugInElement&, Ref<RenderStyle>&&, const RenderTreePosition&) override;
    58 
    59     HTMLVideoElement* parentElement() { return m_mediaElement.get(); }
     39    virtual ~QuickTimePluginReplacement();
    6040
    6141    unsigned long long movieSize() const;
    6242    void postEvent(const String&);
    6343
     44    HTMLVideoElement* parentElement() { return m_mediaElement.get(); }
     45
    6446private:
    6547    QuickTimePluginReplacement(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
     48    static Ref<PluginReplacement> create(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
     49    static bool supportsMimeType(const String&);
     50    static bool supportsFileExtension(const String&);
     51    static bool supportsURL(const URL&) { return true; }
     52
     53    bool installReplacement(ShadowRoot&) final;
     54    JSC::JSObject* scriptObject() final { return m_scriptObject; }
     55
     56    bool willCreateRenderer() final { return m_mediaElement; }
     57    RenderPtr<RenderElement> createElementRenderer(HTMLPlugInElement&, Ref<RenderStyle>&&, const RenderTreePosition&) final;
    6658
    6759    bool ensureReplacementScriptInjected();
     
    7264    const Vector<String> m_names;
    7365    const Vector<String> m_values;
    74     JSC::JSObject* m_scriptObject;
     66    JSC::JSObject* m_scriptObject; // FIXME: Why is it safe to have this pointer here? What keeps it alive during GC?
    7567};
    7668
    7769}
    78 
    79 #endif
  • trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm

    r197794 r199642  
    7676}
    7777
    78 PassRefPtr<PluginReplacement> QuickTimePluginReplacement::create(HTMLPlugInElement& plugin, const Vector<String>& paramNames, const Vector<String>& paramValues)
    79 {
    80     return adoptRef(new QuickTimePluginReplacement(plugin, paramNames, paramValues));
     78Ref<PluginReplacement> QuickTimePluginReplacement::create(HTMLPlugInElement& plugin, const Vector<String>& paramNames, const Vector<String>& paramValues)
     79{
     80    return adoptRef(*new QuickTimePluginReplacement(plugin, paramNames, paramValues));
    8181}
    8282
     
    172172}
    173173
    174 bool QuickTimePluginReplacement::installReplacement(ShadowRoot* root)
     174bool QuickTimePluginReplacement::installReplacement(ShadowRoot& root)
    175175{
    176176    if (!ensureReplacementScriptInjected())
     
    198198
    199199    JSC::MarkedArgumentBuffer argList;
    200     argList.append(toJS(exec, globalObject, root));
     200    argList.append(toJS(exec, globalObject, &root));
    201201    argList.append(toJS(exec, globalObject, m_parentElement));
    202202    argList.append(toJS(exec, globalObject, this));
  • trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp

    r195951 r199642  
    4444}
    4545
    46 PassRefPtr<PluginReplacement> YouTubePluginReplacement::create(HTMLPlugInElement& plugin, const Vector<String>& paramNames, const Vector<String>& paramValues)
    47 {
    48     return adoptRef(new YouTubePluginReplacement(plugin, paramNames, paramValues));
     46Ref<PluginReplacement> YouTubePluginReplacement::create(HTMLPlugInElement& plugin, const Vector<String>& paramNames, const Vector<String>& paramValues)
     47{
     48    return adoptRef(*new YouTubePluginReplacement(plugin, paramNames, paramValues));
    4949}
    5050
     
    7878}
    7979
    80 bool YouTubePluginReplacement::installReplacement(ShadowRoot* root)
     80bool YouTubePluginReplacement::installReplacement(ShadowRoot& root)
    8181{
    8282    m_embedShadowElement = YouTubeEmbedShadowElement::create(m_parentElement->document());
    8383
    84     root->appendChild(*m_embedShadowElement);
     84    root.appendChild(*m_embedShadowElement);
    8585
    8686    Ref<HTMLIFrameElement> iframeElement = HTMLIFrameElement::create(HTMLNames::iframeTag, m_parentElement->document());
  • trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h

    r197563 r199642  
    2424 */
    2525
    26 #ifndef YouTubePluginReplacement_h
    27 #define YouTubePluginReplacement_h
     26#pragma once
    2827
    2928#include "PluginReplacement.h"
    30 
    3129#include <wtf/HashMap.h>
    32 #include <wtf/RetainPtr.h>
    3330
    3431namespace WebCore {
    3532
    36 class HTMLPlugInElement;
    37 class HTMLIFrameElement;
    38 class RenderElement;
    39 class RenderStyle;
    40 class ShadowRoot;
    4133class YouTubeEmbedShadowElement;
    4234
    43 class YouTubePluginReplacement : public PluginReplacement {
     35class YouTubePluginReplacement final : public PluginReplacement {
    4436public:
    4537    static void registerPluginReplacement(PluginReplacementRegistrar);
     
    4941private:
    5042    YouTubePluginReplacement(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
    51 
     43    static Ref<PluginReplacement> create(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
    5244    static bool supportsMimeType(const String&);
    5345    static bool supportsFileExtension(const String&);
    5446    static bool supportsURL(const URL&);
    55    
    56     static PassRefPtr<PluginReplacement> create(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
    5747
    58     bool installReplacement(ShadowRoot*) override;
    59    
     48    bool installReplacement(ShadowRoot&) final;
     49
    6050    String youTubeURL(const String& rawURL);
    61    
    62     bool willCreateRenderer() override { return m_embedShadowElement; }
    63     RenderPtr<RenderElement> createElementRenderer(HTMLPlugInElement&, Ref<RenderStyle>&&, const RenderTreePosition&) override;
    64    
     51
     52    bool willCreateRenderer() final { return m_embedShadowElement; }
     53    RenderPtr<RenderElement> createElementRenderer(HTMLPlugInElement&, Ref<RenderStyle>&&, const RenderTreePosition&) final;
     54
    6555    HTMLPlugInElement* m_parentElement;
    6656    RefPtr<YouTubeEmbedShadowElement> m_embedShadowElement;
     
    6959
    7060}
    71 
    72 #endif
  • trunk/Source/WebCore/Modules/websockets/WebSocket.cpp

    r198869 r199642  
    566566    LOG(Network, "WebSocket %p didReceiveBinaryData() %lu byte binary message", this, static_cast<unsigned long>(binaryData.size()));
    567567    switch (m_binaryType) {
    568     case BinaryTypeBlob: {
     568    case BinaryTypeBlob:
    569569        // FIXME: We just received the data from NetworkProcess, and are sending it back. This is inefficient.
    570         RefPtr<Blob> blob = Blob::create(WTFMove(binaryData), emptyString());
    571         dispatchEvent(MessageEvent::create(blob.release(), SecurityOrigin::create(m_url)->toString()));
     570        dispatchEvent(MessageEvent::create(Blob::create(WTFMove(binaryData), emptyString()), SecurityOrigin::create(m_url)->toString()));
    572571        break;
    573     }
    574 
    575572    case BinaryTypeArrayBuffer:
    576573        dispatchEvent(MessageEvent::create(ArrayBuffer::create(binaryData.data(), binaryData.size()), SecurityOrigin::create(m_url)->toString()));
  • trunk/Source/WebCore/bindings/js/DOMRequestState.h

    r174089 r199642  
    2626 */
    2727
    28 #ifndef DOMRequestState_h
    29 #define DOMRequestState_h
     28#pragma once
    3029
    3130#include "DOMWrapperWorld.h"
     
    4241    explicit DOMRequestState(ScriptExecutionContext* scriptExecutionContext)
    4342        : m_scriptExecutionContext(scriptExecutionContext)
    44         , m_exec(nullptr)
    4543    {
    4644        if (is<Document>(*m_scriptExecutionContext)) {
     
    8078
    8179}
    82 #endif
  • trunk/Source/WebCore/bindings/js/Dictionary.h

    r195954 r199642  
    2525 */
    2626
    27 #ifndef Dictionary_h
    28 #define Dictionary_h
     27#pragma once
    2928
    3029#include "JSDictionary.h"
     
    4847
    4948    // Returns true if a value was found for the provided property.
    50     template <typename Result>
    51     bool get(const char* propertyName, Result&) const;
    52     template <typename Result>
    53     bool get(const String& propertyName, Result&) const;
     49    template<typename Result> bool get(const char* propertyName, Result&) const;
     50    template<typename Result> bool get(const String& propertyName, Result&) const;
    5451
    55     template <typename Result>
    56     Optional<Result> get(const char* propertyName) const;
     52    template<typename Result> Optional<Result> get(const char* propertyName) const;
    5753
    58     template <typename T>
    59     RefPtr<EventListener> getEventListener(const char* propertyName, T* target) const;
    60     template <typename T>
    61     RefPtr<EventListener> getEventListener(const String& propertyName, T* target) const;
     54    template<typename T> RefPtr<EventListener> getEventListener(const char* propertyName, T* target) const;
     55    template<typename T> RefPtr<EventListener> getEventListener(const String& propertyName, T* target) const;
    6256
    6357    bool isObject() const { return m_dictionary.isValid(); }
     
    7064
    7165private:
    72     template <typename T>
    73     JSC::JSObject* asJSObject(T*) const;
     66    template<typename T> JSC::JSObject* asJSObject(T*) const;
    7467   
    7568    JSDictionary m_dictionary;
    7669};
    7770
    78 template <typename Result>
    79 bool Dictionary::get(const char* propertyName, Result& result) const
     71template<typename Result> bool Dictionary::get(const char* propertyName, Result& result) const
    8072{
    81     if (!m_dictionary.isValid())
    82         return false;
    83    
    84     return m_dictionary.get(propertyName, result);
     73    return m_dictionary.isValid() && m_dictionary.get(propertyName, result);
    8574}
    8675
    87 template <typename Result>
    88 bool Dictionary::get(const String& propertyName, Result& result) const
     76template<typename Result> bool Dictionary::get(const String& propertyName, Result& result) const
    8977{
    9078    return get(propertyName.utf8().data(), result);
    9179}
    9280
    93 template<typename Result>
    94 Optional<Result> Dictionary::get(const char* propertyName) const
     81template<typename Result> Optional<Result> Dictionary::get(const char* propertyName) const
    9582{
    9683    Result result;
    97 
    9884    if (!get(propertyName, result))
    9985        return Nullopt;
    100 
    10186    return result;
    10287}
    10388
    104 template <typename T>
    105 RefPtr<EventListener> Dictionary::getEventListener(const char* propertyName, T* target) const
     89template<typename T> RefPtr<EventListener> Dictionary::getEventListener(const char* propertyName, T* target) const
    10690{
    107     if (!m_dictionary.isValid())
     91    JSC::JSValue eventListener;
     92    if (!get(propertyName, eventListener) || !eventListener || !eventListener.isObject())
    10893        return nullptr;
    109 
    110     Deprecated::ScriptValue eventListener;
    111     if (!m_dictionary.tryGetProperty(propertyName, eventListener))
    112         return nullptr;
    113     if (eventListener.hasNoValue())
    114         return nullptr;
    115     if (!eventListener.isObject())
    116         return nullptr;
    117 
    118     return JSEventListener::create(asObject(eventListener.jsValue()), asJSObject(target), true, currentWorld(m_dictionary.execState()));
     94    return JSEventListener::create(asObject(eventListener), asJSObject(target), true, currentWorld(execState()));
    11995}
    12096
    121 template <typename T>
    122 RefPtr<EventListener> Dictionary::getEventListener(const String& propertyName, T* target) const
     97template<typename T> RefPtr<EventListener> Dictionary::getEventListener(const String& propertyName, T* target) const
    12398{
    12499    return getEventListener(propertyName.utf8().data(), target);
     
    126101
    127102}
    128 
    129 #endif // Dictionary_h
  • trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp

    r199619 r199642  
    123123JSValue JSCommandLineAPIHost::inspect(ExecState& state)
    124124{
    125     if (state.argumentCount() >= 2) {
    126         Deprecated::ScriptValue object(state.vm(), state.uncheckedArgument(0));
    127         Deprecated::ScriptValue hints(state.vm(), state.uncheckedArgument(1));
    128         wrapped().inspectImpl(object.toInspectorValue(&state), hints.toInspectorValue(&state));
    129     }
    130 
     125    if (state.argumentCount() < 2)
     126        return jsUndefined();
     127    wrapped().inspectImpl(Inspector::toInspectorValue(state, state.uncheckedArgument(0)),
     128        Inspector::toInspectorValue(state, state.uncheckedArgument(1)));
    131129    return jsUndefined();
    132130}
  • trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp

    r194496 r199642  
    5858    switch (event.dataType()) {
    5959    case MessageEvent::DataTypeScriptValue: {
    60         Deprecated::ScriptValue scriptValue = event.dataAsScriptValue();
    61         if (scriptValue.hasNoValue())
     60        JSValue dataValue = event.dataAsScriptValue();
     61        if (!dataValue)
    6262            result = jsNull();
    6363        else {
    64             JSValue dataValue = scriptValue.jsValue();
    6564            // We need to make sure MessageEvents do not leak objects in their state property across isolated DOM worlds.
    6665            // Ideally, we would check that the worlds have different privileges but that's not possible yet.
     
    121120            return jsUndefined();
    122121    }
    123     Deprecated::ScriptValue dataArg = Deprecated::ScriptValue(state.vm(), state.argument(3));
     122    Deprecated::ScriptValue dataArg(state.vm(), state.argument(3));
    124123    if (state.hadException())
    125124        return jsUndefined();
  • trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp

    r191887 r199642  
    6262#include "RegisteredEventListener.h"
    6363#include "SVGElement.h"
     64#include "ScriptState.h"
    6465#include "ShadowRoot.h"
    6566#include "StyleSheet.h"
  • trunk/Source/WebCore/bindings/js/JSNodeCustom.h

    r172849 r199642  
    2424 */
    2525
    26 #ifndef JSNodeCustom_h
    27 #define JSNodeCustom_h
     26#pragma once
    2827
    2928#include "JSDOMBinding.h"
    3029#include "JSNode.h"
    31 #include "ScriptState.h"
    3230#include "ShadowRoot.h"
    3331
     
    9290
    9391} // namespace WebCore
    94 
    95 #endif // JSDOMNodeCustom_h
  • trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp

    r191887 r199642  
    5959    PopStateEvent& event = wrapped();
    6060
    61     if (!event.state().hasNoValue()) {
     61    if (auto eventState = event.state()) {
    6262        // We need to make sure a PopStateEvent does not leak objects in its state property across isolated DOM worlds.
    6363        // Ideally, we would check that the worlds have different privileges but that's not possible yet.
    64         JSValue eventState = event.state().jsValue();
    6564        if (eventState.isObject() && &worldForDOMObject(eventState.getObject()) != &currentWorld(&state)) {
    66             if (RefPtr<SerializedScriptValue> serializedValue = event.trySerializeState(&state))
     65            if (auto serializedValue = event.trySerializeState(&state))
    6766                eventState = serializedValue->deserialize(&state, globalObject(), nullptr);
    6867            else
    6968                eventState = jsNull();
    7069        }
    71        
    7270        return cacheState(state, this, eventState);
    7371    }
     
    8381    // of using the correct one, and always share the same deserialization with history.state.
    8482
    85     bool isSameState = history->isSameAsCurrentState(event.serializedState().get());
     83    bool isSameState = history->isSameAsCurrentState(event.serializedState());
    8684    JSValue result;
    8785
  • trunk/Source/WebCore/bindings/js/ScriptState.h

    r173929 r199642  
    3030 */
    3131
    32 #ifndef ScriptState_h
    33 #define ScriptState_h
     32#pragma once
    3433
    3534namespace JSC {
     
    3837
    3938namespace WebCore {
     39
    4040class DOMWindow;
    4141class DOMWrapperWorld;
     
    4545class ScriptExecutionContext;
    4646class WorkerGlobalScope;
    47 
    48 // The idea is to expose "state-like" methods (hadException, and any other
    49 // methods where ExecState just dips into vm) of JSC::ExecState as a
    50 // separate abstraction.
    51 // For now, the separation is purely by convention.
    52 typedef JSC::ExecState ScriptState;
    5347
    5448DOMWindow* domWindowFromExecState(JSC::ExecState*);
     
    6357
    6458} // namespace WebCore
    65 
    66 #endif // ScriptState_h
  • trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp

    r199524 r199642  
    5050#include "JSNavigator.h"
    5151#include "ScriptExecutionContext.h"
     52#include "ScriptState.h"
    5253#include "SharedBuffer.h"
    5354#include "WebCoreJSClientData.h"
  • trunk/Source/WebCore/bindings/js/SerializedScriptValue.h

    r199524 r199642  
    2525 */
    2626
    27 #ifndef SerializedScriptValue_h
    28 #define SerializedScriptValue_h
     27#pragma once
    2928
    30 #include "ScriptState.h"
    3129#include <bindings/ScriptValue.h>
    3230#include <heap/Strong.h>
     
    116114
    117115}
    118 
    119 #endif // SerializedScriptValue_h
  • trunk/Source/WebCore/css/FontFace.cpp

    r196954 r199642  
    5858}
    5959
    60 RefPtr<FontFace> FontFace::create(JSC::ExecState& execState, ScriptExecutionContext& context, const String& family, const Deprecated::ScriptValue& source, const Dictionary& descriptors, ExceptionCode& ec)
     60RefPtr<FontFace> FontFace::create(JSC::ExecState& execState, ScriptExecutionContext& context, const String& family, JSC::JSValue source, const Dictionary& descriptors, ExceptionCode& ec)
    6161{
    6262    if (!context.isDocument()) {
     
    6767    Ref<FontFace> result = adoptRef(*new FontFace(execState, downcast<Document>(context).fontSelector()));
    6868
     69    ec = 0;
    6970    result->setFamily(family, ec);
    7071    if (ec)
    7172        return nullptr;
    7273
    73     if (source.jsValue().isString()) {
    74         String sourceString = source.jsValue().toString(&execState)->value(&execState);
     74    if (source.isString()) {
     75        String sourceString = source.toString(&execState)->value(&execState);
    7576        auto value = FontFace::parseString(sourceString, CSSPropertySrc);
    76         if (is<CSSValueList>(value.get())) {
    77             CSSValueList& srcList = downcast<CSSValueList>(*value);
    78             CSSFontFace::appendSources(result->backing(), srcList, &downcast<Document>(context), false);
    79         } else {
     77        if (!is<CSSValueList>(value.get())) {
    8078            ec = SYNTAX_ERR;
    8179            return nullptr;
    8280        }
     81        CSSFontFace::appendSources(result->backing(), downcast<CSSValueList>(*value), &downcast<Document>(context), false);
    8382    }
    8483
  • trunk/Source/WebCore/css/FontFace.h

    r197804 r199642  
    4949class FontFace final : public RefCounted<FontFace>, public CSSFontFace::Client {
    5050public:
    51     static RefPtr<FontFace> create(JSC::ExecState&, ScriptExecutionContext&, const String& family, const Deprecated::ScriptValue& source, const Dictionary& descriptors, ExceptionCode&);
     51    static RefPtr<FontFace> create(JSC::ExecState&, ScriptExecutionContext&, const String& family, JSC::JSValue source, const Dictionary& descriptors, ExceptionCode&);
    5252    static Ref<FontFace> create(JSC::ExecState&, CSSFontFace&);
    5353    virtual ~FontFace();
  • trunk/Source/WebCore/dom/MessageEvent.cpp

    r198488 r199642  
    2929#include "MessageEvent.h"
    3030
     31#include "Blob.h"
     32#include "DOMWindow.h"
    3133#include <runtime/JSCInlines.h>
    3234
     
    3840}
    3941
    40 MessageEvent::MessageEvent()
     42inline MessageEvent::MessageEvent()
    4143    : m_dataType(DataTypeScriptValue)
    4244{
    4345}
    4446
    45 MessageEvent::MessageEvent(const AtomicString& type, const MessageEventInit& initializer)
     47inline MessageEvent::MessageEvent(const AtomicString& type, const MessageEventInit& initializer)
    4648    : Event(type, initializer)
    4749    , m_dataType(DataTypeScriptValue)
     
    5456}
    5557
    56 MessageEvent::MessageEvent(const Deprecated::ScriptValue& data, const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, std::unique_ptr<MessagePortArray> ports)
    57     : Event(eventNames().messageEvent, false, false)
    58     , m_dataType(DataTypeScriptValue)
    59     , m_dataAsScriptValue(data)
     58inline MessageEvent::MessageEvent(RefPtr<SerializedScriptValue>&& data, const String& origin, const String& lastEventId, EventTarget* source, std::unique_ptr<MessagePortArray> ports)
     59    : Event(eventNames().messageEvent, false, false)
     60    , m_dataType(DataTypeSerializedScriptValue)
     61    , m_dataAsSerializedScriptValue(WTFMove(data))
    6062    , m_origin(origin)
    6163    , m_lastEventId(lastEventId)
     
    6365    , m_ports(WTFMove(ports))
    6466{
    65     ASSERT(isValidSource(m_source.get()));
    66 }
    67 
    68 MessageEvent::MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, std::unique_ptr<MessagePortArray> ports)
    69     : Event(eventNames().messageEvent, false, false)
     67    ASSERT(isValidSource(source));
     68}
     69
     70inline MessageEvent::MessageEvent(const AtomicString& type, RefPtr<SerializedScriptValue>&& data, const String& origin, const String& lastEventId)
     71    : Event(type, false, false)
    7072    , m_dataType(DataTypeSerializedScriptValue)
    71     , m_dataAsSerializedScriptValue(data)
     73    , m_dataAsSerializedScriptValue(WTFMove(data))
    7274    , m_origin(origin)
    7375    , m_lastEventId(lastEventId)
    74     , m_source(source)
    75     , m_ports(WTFMove(ports))
    76 {
    77     ASSERT(isValidSource(m_source.get()));
    78 }
    79 
    80 MessageEvent::MessageEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId)
    81     : Event(type, canBubble, cancelable)
    82     , m_dataType(DataTypeSerializedScriptValue)
    83     , m_dataAsSerializedScriptValue(data)
    84     , m_origin(origin)
    85     , m_lastEventId(lastEventId)
    86 {
    87 }
    88 
    89 MessageEvent::MessageEvent(const String& data, const String& origin)
     76{
     77}
     78
     79inline MessageEvent::MessageEvent(const String& data, const String& origin)
    9080    : Event(eventNames().messageEvent, false, false)
    9181    , m_dataType(DataTypeString)
     
    9585}
    9686
    97 MessageEvent::MessageEvent(PassRefPtr<Blob> data, const String& origin)
     87inline MessageEvent::MessageEvent(Ref<Blob>&& data, const String& origin)
    9888    : Event(eventNames().messageEvent, false, false)
    9989    , m_dataType(DataTypeBlob)
    100     , m_dataAsBlob(data)
    101     , m_origin(origin)
    102 {
    103 }
    104 
    105 MessageEvent::MessageEvent(Ref<ArrayBuffer>&& data, const String& origin)
     90    , m_dataAsBlob(WTFMove(data))
     91    , m_origin(origin)
     92{
     93}
     94
     95inline MessageEvent::MessageEvent(Ref<ArrayBuffer>&& data, const String& origin)
    10696    : Event(eventNames().messageEvent, false, false)
    10797    , m_dataType(DataTypeArrayBuffer)
     
    10999    , m_origin(origin)
    110100{
     101}
     102
     103Ref<MessageEvent> MessageEvent::create(std::unique_ptr<MessagePortArray> ports, RefPtr<SerializedScriptValue>&& data, const String& origin, const String& lastEventId, EventTarget* source)
     104{
     105    return adoptRef(*new MessageEvent(WTFMove(data), origin, lastEventId, source, WTFMove(ports)));
     106}
     107
     108Ref<MessageEvent> MessageEvent::create(const AtomicString& type, RefPtr<SerializedScriptValue>&& data, const String& origin, const String& lastEventId)
     109{
     110    return adoptRef(*new MessageEvent(type, WTFMove(data), origin, lastEventId));
     111}
     112
     113Ref<MessageEvent> MessageEvent::create(const String& data, const String& origin)
     114{
     115    return adoptRef(*new MessageEvent(data, origin));
     116}
     117
     118Ref<MessageEvent> MessageEvent::create(Ref<Blob>&& data, const String& origin)
     119{
     120    return adoptRef(*new MessageEvent(WTFMove(data), origin));
     121}
     122
     123Ref<MessageEvent> MessageEvent::create(Ref<ArrayBuffer>&& data, const String& origin)
     124{
     125    return adoptRef(*new MessageEvent(WTFMove(data), origin));
     126}
     127
     128Ref<MessageEvent> MessageEvent::createForBindings()
     129{
     130    return adoptRef(*new MessageEvent);
     131}
     132
     133Ref<MessageEvent> MessageEvent::createForBindings(const AtomicString& type, const MessageEventInit& initializer)
     134{
     135    return adoptRef(*new MessageEvent(type, initializer));
    111136}
    112137
  • trunk/Source/WebCore/dom/MessageEvent.h

    r198488 r199642  
    2626 */
    2727
    28 #ifndef MessageEvent_h
    29 #define MessageEvent_h
     28#pragma once
    3029
    31 #include "Blob.h"
    32 #include "DOMWindow.h"
    3330#include "Event.h"
    3431#include "MessagePort.h"
    3532#include "SerializedScriptValue.h"
    3633#include <bindings/ScriptValue.h>
    37 #include <memory>
    38 #include <runtime/ArrayBuffer.h>
    3934
    4035namespace WebCore {
    4136
    42 class EventTarget;
     37class Blob;
    4338
    4439struct MessageEventInit : public EventInit {
     
    5247class MessageEvent final : public Event {
    5348public:
    54     static Ref<MessageEvent> create(std::unique_ptr<MessagePortArray> ports, const Deprecated::ScriptValue& data = Deprecated::ScriptValue(), const String& origin = String(), const String& lastEventId = String(), PassRefPtr<EventTarget> source = nullptr)
    55     {
    56         return adoptRef(*new MessageEvent(data, origin, lastEventId, source, WTFMove(ports)));
    57     }
    58     static Ref<MessageEvent> create(std::unique_ptr<MessagePortArray> ports, PassRefPtr<SerializedScriptValue> data, const String& origin = String(), const String& lastEventId = String(), PassRefPtr<EventTarget> source = nullptr)
    59     {
    60         return adoptRef(*new MessageEvent(data, origin, lastEventId, source, WTFMove(ports)));
    61     }
    62     static Ref<MessageEvent> create(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId)
    63     {
    64         return adoptRef(*new MessageEvent(type, canBubble, cancelable, data, origin, lastEventId));
    65     }
    66     static Ref<MessageEvent> create(const String& data, const String& origin = String())
    67     {
    68         return adoptRef(*new MessageEvent(data, origin));
    69     }
    70     static Ref<MessageEvent> create(PassRefPtr<Blob> data, const String& origin = String())
    71     {
    72         return adoptRef(*new MessageEvent(data, origin));
    73     }
    74     static Ref<MessageEvent> create(Ref<ArrayBuffer>&& data, const String& origin = String())
    75     {
    76         return adoptRef(*new MessageEvent(WTFMove(data), origin));
    77     }
    78     static Ref<MessageEvent> createForBindings()
    79     {
    80         return adoptRef(*new MessageEvent);
    81     }
    82     static Ref<MessageEvent> createForBindings(const AtomicString& type, const MessageEventInit& initializer)
    83     {
    84         return adoptRef(*new MessageEvent(type, initializer));
    85     }
     49    static Ref<MessageEvent> create(std::unique_ptr<MessagePortArray>, RefPtr<SerializedScriptValue>&&, const String& origin = { }, const String& lastEventId = { }, EventTarget* source = nullptr);
     50    static Ref<MessageEvent> create(const AtomicString& type, RefPtr<SerializedScriptValue>&&, const String& origin, const String& lastEventId);
     51    static Ref<MessageEvent> create(const String& data, const String& origin = { });
     52    static Ref<MessageEvent> create(Ref<Blob>&& data, const String& origin);
     53    static Ref<MessageEvent> create(Ref<ArrayBuffer>&& data, const String& origin = { });
     54    static Ref<MessageEvent> createForBindings();
     55    static Ref<MessageEvent> createForBindings(const AtomicString& type, const MessageEventInit&);
    8656    virtual ~MessageEvent();
    8757
     
    11181    };
    11282    DataType dataType() const { return m_dataType; }
    113     const Deprecated::ScriptValue& dataAsScriptValue() const { ASSERT(m_dataType == DataTypeScriptValue); return m_dataAsScriptValue; }
     83    JSC::JSValue dataAsScriptValue() const { ASSERT(m_dataType == DataTypeScriptValue); return m_dataAsScriptValue; }
    11484    PassRefPtr<SerializedScriptValue> dataAsSerializedScriptValue() const { ASSERT(m_dataType == DataTypeSerializedScriptValue); return m_dataAsSerializedScriptValue; }
    11585    String dataAsString() const { ASSERT(m_dataType == DataTypeString); return m_dataAsString; }
     
    12292    MessageEvent();
    12393    MessageEvent(const AtomicString&, const MessageEventInit&);
    124     MessageEvent(const Deprecated::ScriptValue& data, const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, std::unique_ptr<MessagePortArray>);
    125     MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, PassRefPtr<EventTarget> source, std::unique_ptr<MessagePortArray>);
    126     MessageEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId);
    127 
    128     explicit MessageEvent(const String& data, const String& origin);
    129     explicit MessageEvent(PassRefPtr<Blob> data, const String& origin);
    130     explicit MessageEvent(Ref<ArrayBuffer>&& data, const String& origin);
     94    MessageEvent(RefPtr<SerializedScriptValue>&& data, const String& origin, const String& lastEventId, EventTarget* source, std::unique_ptr<MessagePortArray>);
     95    MessageEvent(const AtomicString& type, RefPtr<SerializedScriptValue>&& data, const String& origin, const String& lastEventId);
     96    MessageEvent(const String& data, const String& origin);
     97    MessageEvent(Ref<Blob>&& data, const String& origin);
     98    MessageEvent(Ref<ArrayBuffer>&& data, const String& origin);
    13199
    132100    DataType m_dataType;
     
    144112
    145113} // namespace WebCore
    146 
    147 #endif // MessageEvent_h
  • trunk/Source/WebCore/dom/NodeFilterCondition.h

    r189230 r199642  
    2323 */
    2424
    25 #ifndef NodeFilterCondition_h
    26 #define NodeFilterCondition_h
     25#pragma once
    2726
    28 #include "ScriptState.h"
    2927#include <wtf/RefCounted.h>
    3028
    3129namespace JSC {
    32 
    3330class SlotVisitor;
    34 
    3531}
    3632
    3733namespace WebCore {
    3834
    39     class Node;
     35class Node;
    4036
    41     class NodeFilterCondition : public RefCounted<NodeFilterCondition> {
    42     public:
    43         virtual ~NodeFilterCondition() { }
    44         virtual short acceptNode(Node*) const = 0;
    45         virtual void visitAggregate(JSC::SlotVisitor&) { }
    46     };
     37class NodeFilterCondition : public RefCounted<NodeFilterCondition> {
     38public:
     39    virtual ~NodeFilterCondition() { }
     40    virtual short acceptNode(Node*) const = 0;
     41    virtual void visitAggregate(JSC::SlotVisitor&) { }
     42};
    4743
    4844} // namespace WebCore
    49 
    50 #endif // NodeFilterCondition_h
  • trunk/Source/WebCore/dom/PopStateEvent.h

    r197563 r199642  
    2525 */
    2626
    27 #ifndef PopStateEvent_h
    28 #define PopStateEvent_h
     27#pragma once
    2928
    3029#include "Event.h"
    31 #include "SerializedScriptValue.h"
    3230#include <bindings/ScriptValue.h>
    3331
    3432namespace WebCore {
    3533
     34class History;
     35class SerializedScriptValue;
     36
    3637struct PopStateEventInit : public EventInit {
    3738    Deprecated::ScriptValue state;
    3839};
    39 
    40 class History;
    41 class SerializedScriptValue;
    4240
    4341class PopStateEvent final : public Event {
     
    4745    static Ref<PopStateEvent> createForBindings(const AtomicString&, const PopStateEventInit&);
    4846
    49     PassRefPtr<SerializedScriptValue> serializedState() const { ASSERT(m_serializedState); return m_serializedState; }
    50    
     47    JSC::JSValue state() const { return m_state; }
     48    SerializedScriptValue* serializedState() const { return m_serializedState.get(); }
     49
    5150    RefPtr<SerializedScriptValue> trySerializeState(JSC::ExecState*);
    5251   
    53     const Deprecated::ScriptValue& state() const { return m_state; }
    5452    History* history() const { return m_history.get(); }
    5553
     
    6765
    6866} // namespace WebCore
    69 
    70 #endif // PopStateEvent_h
  • trunk/Source/WebCore/dom/Traversal.cpp

    r194496 r199642  
    3131namespace WebCore {
    3232
    33 NodeIteratorBase::NodeIteratorBase(Node& rootNode, unsigned long whatToShow, RefPtr<NodeFilter>&& nodeFilter)
     33NodeIteratorBase::NodeIteratorBase(Node& rootNode, unsigned whatToShow, RefPtr<NodeFilter>&& nodeFilter)
    3434    : m_root(&rootNode)
    3535    , m_whatToShow(whatToShow)
  • trunk/Source/WebCore/dom/Traversal.h

    r194324 r199642  
    2323 */
    2424
    25 #ifndef Traversal_h
    26 #define Traversal_h
     25#pragma once
    2726
    28 #include "ScriptState.h"
    2927#include <wtf/RefPtr.h>
    3028
    3129namespace WebCore {
    3230
    33     class Node;
    34     class NodeFilter;
     31class Node;
     32class NodeFilter;
    3533
    36     class NodeIteratorBase {
    37     public:
    38         Node* root() const { return m_root.get(); }
    39         unsigned long whatToShow() const { return m_whatToShow; }
    40         NodeFilter* filter() const { return m_filter.get(); }
    41         bool expandEntityReferences() const { return false; }
     34class NodeIteratorBase {
     35public:
     36    Node* root() const { return m_root.get(); }
     37    unsigned whatToShow() const { return m_whatToShow; }
     38    NodeFilter* filter() const { return m_filter.get(); }
     39    bool expandEntityReferences() const { return false; }
    4240
    43     protected:
    44         NodeIteratorBase(Node&, unsigned long whatToShow, RefPtr<NodeFilter>&&);
    45         short acceptNode(Node*) const;
     41protected:
     42    NodeIteratorBase(Node&, unsigned whatToShow, RefPtr<NodeFilter>&&);
     43    short acceptNode(Node*) const;
    4644
    47     private:
    48         RefPtr<Node> m_root;
    49         unsigned long m_whatToShow;
    50         RefPtr<NodeFilter> m_filter;
    51     };
     45private:
     46    RefPtr<Node> m_root;
     47    unsigned m_whatToShow;
     48    RefPtr<NodeFilter> m_filter;
     49};
    5250
    5351} // namespace WebCore
    54 
    55 #endif // Traversal_h
  • trunk/Source/WebCore/html/HTMLPlugInElement.cpp

    r196717 r199642  
    328328   
    329329    root->setResetStyleInheritance(true);
    330     if (m_pluginReplacement->installReplacement(root)) {
     330    if (m_pluginReplacement->installReplacement(*root)) {
    331331        setDisplayState(DisplayingPluginReplacement);
    332332        setNeedsStyleRecalc(ReconstructRenderTree);
  • trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp

    r199619 r199642  
    14971497        InjectedScript injectedScript = m_injectedScriptManager.injectedScriptFor(state);
    14981498        if (!injectedScript.hasNoValue())
    1499             value->setHandler(injectedScript.wrapObject(Deprecated::ScriptValue(state->vm(), handler), *objectGroupId));
     1499            value->setHandler(injectedScript.wrapObject(handler, *objectGroupId));
    15001500    }
    15011501    if (!scriptID.isNull()) {
  • trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp

    r199619 r199642  
    6969    void disconnect()
    7070    {
    71         m_frontendApiObject = Deprecated::ScriptObject();
     71        m_frontendApiObject = { };
    7272        m_frontendHost = nullptr;
    7373    }
  • trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp

    r199323 r199642  
    5959#include "InspectorPageAgent.h"
    6060#include "InstrumentingAgents.h"
     61#include "ScriptState.h"
    6162#include "SecurityOrigin.h"
    6263#include <inspector/InjectedScript.h>
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.h

    r198786 r199642  
    3030*/
    3131
    32 #ifndef InspectorInstrumentation_h
    33 #define InspectorInstrumentation_h
     32#pragma once
    3433
    3534#include "CSSSelector.h"
     
    4241#include "Page.h"
    4342#include "ScriptExecutionContext.h"
    44 #include "ScriptState.h"
    4543#include "StorageArea.h"
    4644#include "WebSocketFrame.h"
     
    254252    static void didSendWebSocketFrame(Document*, unsigned long identifier, const WebSocketFrame&);
    255253    static void didReceiveWebSocketFrameError(Document*, unsigned long identifier, const String& errorMessage);
    256 #endif
    257 
    258     static Deprecated::ScriptObject wrapCanvas2DRenderingContextForInstrumentation(Document*, const Deprecated::ScriptObject&);
    259 #if ENABLE(WEBGL)
    260     static Deprecated::ScriptObject wrapWebGLRenderingContextForInstrumentation(Document*, const Deprecated::ScriptObject&);
    261254#endif
    262255
     
    12931286
    12941287} // namespace WebCore
    1295 
    1296 #endif // !defined(InspectorInstrumentation_h)
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r199112 r199642  
    145145class PostMessageTimer : public TimerBase {
    146146public:
    147     PostMessageTimer(DOMWindow* window, PassRefPtr<SerializedScriptValue> message, const String& sourceOrigin, PassRefPtr<DOMWindow> source, std::unique_ptr<MessagePortChannelArray> channels, SecurityOrigin* targetOrigin, PassRefPtr<ScriptCallStack> stackTrace)
     147    PostMessageTimer(DOMWindow& window, PassRefPtr<SerializedScriptValue> message, const String& sourceOrigin, DOMWindow& source, std::unique_ptr<MessagePortChannelArray> channels, RefPtr<SecurityOrigin>&& targetOrigin, RefPtr<ScriptCallStack>&& stackTrace)
    148148        : m_window(window)
    149149        , m_message(message)
     
    151151        , m_source(source)
    152152        , m_channels(WTFMove(channels))
    153         , m_targetOrigin(targetOrigin)
     153        , m_targetOrigin(WTFMove(targetOrigin))
    154154        , m_stackTrace(stackTrace)
    155155    {
    156156    }
    157157
    158     Ref<MessageEvent> event(ScriptExecutionContext* context)
     158    Ref<MessageEvent> event(ScriptExecutionContext& context)
    159159    {
    160         std::unique_ptr<MessagePortArray> messagePorts = MessagePort::entanglePorts(*context, WTFMove(m_channels));
    161         return MessageEvent::create(WTFMove(messagePorts), m_message, m_origin, String(), m_source);
     160        return MessageEvent::create(MessagePort::entanglePorts(context, WTFMove(m_channels)), WTFMove(m_message), m_origin, { }, m_source.ptr());
    162161    }
    163162    SecurityOrigin* targetOrigin() const { return m_targetOrigin.get(); }
     
    172171    }
    173172
    174     RefPtr<DOMWindow> m_window;
     173    Ref<DOMWindow> m_window;
    175174    RefPtr<SerializedScriptValue> m_message;
    176175    String m_origin;
    177     RefPtr<DOMWindow> m_source;
     176    Ref<DOMWindow> m_source;
    178177    std::unique_ptr<MessagePortChannelArray> m_channels;
    179178    RefPtr<SecurityOrigin> m_targetOrigin;
     
    900899    }
    901900
    902     std::unique_ptr<MessagePortChannelArray> channels = MessagePort::disentanglePorts(ports, ec);
     901    auto channels = MessagePort::disentanglePorts(ports, ec);
    903902    if (ec)
    904903        return;
     
    916915
    917916    // Schedule the message.
    918     PostMessageTimer* timer = new PostMessageTimer(this, message, sourceOrigin, &source, WTFMove(channels), target.get(), stackTrace.release());
     917    PostMessageTimer* timer = new PostMessageTimer(*this, message, sourceOrigin, source, WTFMove(channels), WTFMove(target), WTFMove(stackTrace));
    919918    timer->startOneShot(0);
    920919}
     
    925924        return;
    926925
    927     dispatchMessageEventWithOriginCheck(timer.targetOrigin(), timer.event(document()), timer.stackTrace());
     926    dispatchMessageEventWithOriginCheck(timer.targetOrigin(), timer.event(*document()), timer.stackTrace());
    928927}
    929928
  • trunk/Source/WebCore/page/EventSource.cpp

    r196400 r199642  
    414414Ref<MessageEvent> EventSource::createMessageEvent()
    415415{
    416     return MessageEvent::create(m_eventName.isEmpty() ? eventNames().messageEvent : AtomicString(m_eventName), false, false, SerializedScriptValue::create(String::adopt(m_data)), m_eventStreamOrigin, m_lastEventId);
     416    return MessageEvent::create(m_eventName.isEmpty() ? eventNames().messageEvent : AtomicString(m_eventName), SerializedScriptValue::create(String::adopt(m_data)), m_eventStreamOrigin, m_lastEventId);
    417417}
    418418
  • trunk/Source/WebCore/page/csp/ContentSecurityPolicy.h

    r199612 r199642  
    2525 */
    2626
    27 #ifndef ContentSecurityPolicy_h
    28 #define ContentSecurityPolicy_h
     27#pragma once
    2928
    3029#include "ContentSecurityPolicyResponseHeaders.h"
    31 #include "ScriptState.h"
    3230#include <wtf/OptionSet.h>
    3331#include <wtf/Vector.h>
    3432#include <wtf/text/TextPosition.h>
     33
     34namespace JSC {
     35class ExecState;
     36}
    3537
    3638namespace WTF {
     
    4446class ContentSecurityPolicySource;
    4547class DOMStringList;
     48class Frame;
    4649class JSDOMWindowShell;
    4750class ScriptExecutionContext;
     
    185188
    186189}
    187 
    188 #endif
  • trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h

    r199612 r199642  
    2525 */
    2626
    27 #ifndef ContentSecurityPolicyDirectiveList_h
    28 #define ContentSecurityPolicyDirectiveList_h
     27#pragma once
    2928
    3029#include "ContentSecurityPolicy.h"
     
    3332#include "ContentSecurityPolicySourceListDirective.h"
    3433#include "URL.h"
    35 #include <wtf/Noncopyable.h>
    3634
    3735namespace WebCore {
    3836
     37class Frame;
     38
    3939class ContentSecurityPolicyDirectiveList {
    4040    WTF_MAKE_FAST_ALLOCATED;
    41     WTF_MAKE_NONCOPYABLE(ContentSecurityPolicyDirectiveList)
    4241public:
    4342    static std::unique_ptr<ContentSecurityPolicyDirectiveList> create(ContentSecurityPolicy&, const String&, ContentSecurityPolicyHeaderType, ContentSecurityPolicy::PolicyFrom);
     
    126125
    127126} // namespace WebCore
    128 
    129 #endif /* ContentSecurityPolicyDirectiveList_h */
  • trunk/Source/WebCore/testing/Internals.cpp

    r199539 r199642  
    506506}
    507507
    508 String Internals::description(Deprecated::ScriptValue value)
    509 {
    510     return toString(value.jsValue());
     508String Internals::description(JSC::JSValue value)
     509{
     510    return toString(value);
    511511}
    512512
     
    14921492};
    14931493
    1494 String Internals::parserMetaData(Deprecated::ScriptValue value)
     1494String Internals::parserMetaData(JSC::JSValue code)
    14951495{
    14961496    JSC::VM& vm = contextDocument()->vm();
    14971497    JSC::ExecState* exec = vm.topCallFrame;
    1498     JSC::JSValue code = value.jsValue();
    14991498    ScriptExecutable* executable;
    15001499
     
    25262525RefPtr<ArrayBuffer> Internals::serializeObject(PassRefPtr<SerializedScriptValue> value) const
    25272526{
    2528     Vector<uint8_t> bytes = value->data();
     2527    auto& bytes = value->data();
    25292528    return ArrayBuffer::create(bytes.data(), bytes.size());
    25302529}
     
    25372536}
    25382537
    2539 bool Internals::isFromCurrentWorld(Deprecated::ScriptValue value) const
    2540 {
    2541     ASSERT(!value.hasNoValue());
    2542    
    2543     JSC::ExecState* exec = contextDocument()->vm().topCallFrame;
    2544     if (!value.isObject() || &worldForDOMObject(value.jsValue().getObject()) == &currentWorld(exec))
    2545         return true;
    2546     return false;
     2538bool Internals::isFromCurrentWorld(JSC::JSValue value) const
     2539{
     2540    ASSERT(value);
     2541    JSC::ExecState& state = *contextDocument()->vm().topCallFrame;
     2542    return !value.isObject() || &worldForDOMObject(asObject(value)) == &currentWorld(&state);
    25472543}
    25482544
     
    32823278#if ENABLE(STREAMS_API)
    32833279
    3284 bool Internals::isReadableStreamDisturbed(ScriptState& state, JSValue stream)
     3280bool Internals::isReadableStreamDisturbed(JSC::ExecState& state, JSValue stream)
    32853281{
    32863282    JSGlobalObject* globalObject = state.vmEntryGlobalObject();
  • trunk/Source/WebCore/testing/Internals.h

    r199539 r199642  
    2525 */
    2626
    27 #ifndef Internals_h
    28 #define Internals_h
     27#pragma once
    2928
    3029#include "CSSComputedStyleDeclaration.h"
    3130#include "ContextDestructionObserver.h"
    32 #include "ExceptionCodePlaceholder.h"
    33 #include "NodeList.h"
    3431#include "PageConsoleClient.h"
    35 #include "ScriptState.h"
    36 #include <bindings/ScriptValue.h>
    37 #include <runtime/ArrayBuffer.h>
    3832#include <runtime/Float32Array.h>
    39 #include <wtf/RefCounted.h>
    40 #include <wtf/text/WTFString.h>
    4133
    4234namespace WebCore {
     
    6658class MockPageOverlay;
    6759class Node;
     60class NodeList;
    6861class Page;
    6962class Range;
     
    7871typedef int ExceptionCode;
    7972
    80 class Internals : public RefCounted<Internals>, public ContextDestructionObserver {
     73class Internals final : public RefCounted<Internals>, private ContextDestructionObserver {
    8174public:
    8275    static Ref<Internals> create(Document&);
     
    9184    bool nodeNeedsStyleRecalc(Node&);
    9285    String styleChangeType(Node&);
    93     String description(Deprecated::ScriptValue);
     86    String description(JSC::JSValue);
    9487
    9588    bool isPreloaded(const String& url);
     
    209202        unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent, ExceptionCode&) const;
    210203
    211     String parserMetaData(Deprecated::ScriptValue = Deprecated::ScriptValue());
     204    String parserMetaData(JSC::JSValue = { });
    212205
    213206    void updateEditorUINowIfScheduled();
     
    292285
    293286    int numberOfPages(float pageWidthInPixels = 800, float pageHeightInPixels = 600);
    294     String pageProperty(String, int, ExceptionCode& = ASSERT_NO_EXCEPTION) const;
    295     String pageSizeAndMarginsInPixels(int, int, int, int, int, int, int, ExceptionCode& = ASSERT_NO_EXCEPTION) const;
     287    String pageProperty(String, int, ExceptionCode&) const;
     288    String pageSizeAndMarginsInPixels(int, int, int, int, int, int, int, ExceptionCode&) const;
    296289
    297290    void setPageScaleFactor(float scaleFactor, int x, int y, ExceptionCode&);
     
    345338    RefPtr<SerializedScriptValue> deserializeBuffer(ArrayBuffer&) const;
    346339
    347     bool isFromCurrentWorld(Deprecated::ScriptValue) const;
     340    bool isFromCurrentWorld(JSC::JSValue) const;
    348341
    349342    void setUsesOverlayScrollbars(bool);
     
    473466
    474467#if ENABLE(STREAMS_API)
    475     bool isReadableStreamDisturbed(ScriptState&, JSC::JSValue);
     468    bool isReadableStreamDisturbed(JSC::ExecState&, JSC::JSValue);
    476469#endif
    477470
     
    491484
    492485} // namespace WebCore
    493 
    494 #endif
Note: See TracChangeset for help on using the changeset viewer.