Changeset 97725 in webkit


Ignore:
Timestamp:
Oct 18, 2011 12:20:17 AM (13 years ago)
Author:
haraken@chromium.org
Message:

Unreviewed, rolling out r97697.
http://trac.webkit.org/changeset/97697
https://bugs.webkit.org/show_bug.cgi?id=68978

some tests are broken

Source/WebCore:

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data):

  • bindings/v8/custom/V8MessageEventCustom.cpp:

(WebCore::V8MessageEvent::dataAccessorGetter):
(WebCore::V8MessageEvent::portsAccessorGetter):
(WebCore::V8MessageEvent::initMessageEventCallback):

  • dom/MessageEvent.cpp:

(WebCore::MessageEventInit::MessageEventInit):
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::isMessageEvent):

  • dom/MessageEvent.h:

(WebCore::MessageEvent::create):
(WebCore::MessageEvent::dataAsSerializedScriptValue):
(WebCore::MessageEvent::dataAsString):
(WebCore::MessageEvent::dataAsBlob):
(WebCore::MessageEvent::dataAsArrayBuffer):

  • dom/MessageEvent.idl:

LayoutTests:

  • fast/events/constructors/message-event-constructor-expected.txt:
  • fast/events/constructors/message-event-constructor.html:
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r97721 r97725  
     12011-10-18  Kentaro Hara  <haraken@chromium.org>
     2
     3        Unreviewed, rolling out r97697.
     4        http://trac.webkit.org/changeset/97697
     5        https://bugs.webkit.org/show_bug.cgi?id=68978
     6
     7        some tests are broken
     8
     9        * fast/events/constructors/message-event-constructor-expected.txt:
     10        * fast/events/constructors/message-event-constructor.html:
     11
    1122011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
    213
  • trunk/LayoutTests/fast/events/constructors/message-event-constructor-expected.txt

    r97697 r97725  
    1515PASS new MessageEvent('eventType', { cancelable: false }).cancelable is false
    1616PASS new MessageEvent('eventType', { cancelable: true }).cancelable is true
    17 PASS new MessageEvent('eventType', { data: test_object }).data is test_object
    18 PASS new MessageEvent('eventType', { data: document }).data is document
     17FAIL new MessageEvent('eventType', { data: test_object }).data should be [object Object]. Was [object Object].
    1918PASS new MessageEvent('eventType', { data: undefined }).data is undefined
    2019PASS new MessageEvent('eventType', { data: null }).data is null
     
    9695PASS new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).bubbles is true
    9796PASS new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).cancelable is true
    98 PASS new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).data is test_object
     97FAIL new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).data should be [object Object]. Was [object Object].
    9998PASS new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).origin is "wonderful"
    10099PASS new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).lastEventId is "excellent"
  • trunk/LayoutTests/fast/events/constructors/message-event-constructor.html

    r97697 r97725  
    3030
    3131// data is passed.
     32// FIXME(haraken): This fails because MessageEvent.data cannot handle ScriptValue.
    3233shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object");
    33 shouldBe("new MessageEvent('eventType', { data: document }).data", "document");
     34// FIXME(haraken): When we pass a DOM object, it crashes in DRT (it returns TypeError in non-DRT build).
     35// shouldBe("new MessageEvent('eventType', { data: document }).data", "document");
    3436shouldBe("new MessageEvent('eventType', { data: undefined }).data", "undefined");
    3537shouldBe("new MessageEvent('eventType', { data: null }).data", "null");
     
    119121shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).bubbles", "true");
    120122shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).cancelable", "true");
     123// FIXME(haraken): This fails because MessageEvent.data cannot handle ScriptValue.
    121124shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).data", "test_object");
    122125shouldBeEqualToString("new MessageEvent('eventType', { bubbles: true, cancelable: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, ports: [channel.port1, channel.port2, channel.port2] }).origin", "wonderful");
  • trunk/Source/WebCore/ChangeLog

    r97724 r97725  
     12011-10-18  Kentaro Hara  <haraken@chromium.org>
     2
     3        Unreviewed, rolling out r97697.
     4        http://trac.webkit.org/changeset/97697
     5        https://bugs.webkit.org/show_bug.cgi?id=68978
     6
     7        some tests are broken
     8
     9        * bindings/js/JSMessageEventCustom.cpp:
     10        (WebCore::JSMessageEvent::data):
     11        * bindings/v8/custom/V8MessageEventCustom.cpp:
     12        (WebCore::V8MessageEvent::dataAccessorGetter):
     13        (WebCore::V8MessageEvent::portsAccessorGetter):
     14        (WebCore::V8MessageEvent::initMessageEventCallback):
     15        * dom/MessageEvent.cpp:
     16        (WebCore::MessageEventInit::MessageEventInit):
     17        (WebCore::MessageEvent::MessageEvent):
     18        (WebCore::MessageEvent::isMessageEvent):
     19        * dom/MessageEvent.h:
     20        (WebCore::MessageEvent::create):
     21        (WebCore::MessageEvent::dataAsSerializedScriptValue):
     22        (WebCore::MessageEvent::dataAsString):
     23        (WebCore::MessageEvent::dataAsBlob):
     24        (WebCore::MessageEvent::dataAsArrayBuffer):
     25        * dom/MessageEvent.idl:
     26
    1272011-10-17  Antti Koivisto  <antti@apple.com>
    228
  • trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp

    r97697 r97725  
    5353    JSValue result;
    5454    switch (event->dataType()) {
    55     case MessageEvent::DataTypeScriptValue: {
    56         ScriptValue scriptValue = event->dataAsScriptValue();
    57         if (scriptValue.hasNoValue())
    58             result = jsNull();
    59         else
    60             result = scriptValue.jsValue();
    61         break;
    62     }
    63 
    6455    case MessageEvent::DataTypeSerializedScriptValue:
    6556        if (SerializedScriptValue* serializedValue = event->dataAsSerializedScriptValue()) {
  • trunk/Source/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp

    r97697 r97725  
    5252    v8::Handle<v8::Value> result;
    5353    switch (event->dataType()) {
    54     case MessageEvent::DataTypeScriptValue: {
    55         ScriptValue scriptValue = event->dataAsScriptValue();
    56         if (scriptValue.hasNoValue())
    57             result = v8::Null();
    58         else
    59             result = scriptValue.v8Value();
    60         break;
    61     }
    62 
    6354    case MessageEvent::DataTypeSerializedScriptValue:
    6455        if (SerializedScriptValue* serializedValue = event->dataAsSerializedScriptValue())
     
    9889    if (!ports)
    9990        return v8::Array::New(0);
    100 
     91   
    10192    MessagePortArray portsCopy(*ports);
    10293
     
    115106    bool canBubbleArg = args[1]->BooleanValue();
    116107    bool cancelableArg = args[2]->BooleanValue();
    117     ScriptValue dataArg = ScriptValue(args[3]);
     108    RefPtr<SerializedScriptValue> dataArg = SerializedScriptValue::create(args[3]);
    118109    String originArg = v8ValueToWebCoreString(args[4]);
    119110    String lastEventIdArg = v8ValueToWebCoreString(args[5]);
     
    133124            return v8::Undefined();
    134125    }
    135     event->initMessageEvent(typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portArray.release());
     126    event->initMessageEvent(typeArg, canBubbleArg, cancelableArg, dataArg.release(), originArg, lastEventIdArg, sourceArg, portArray.release());
    136127    v8::PropertyAttribute dataAttr = static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly);
    137128    SerializedScriptValue::deserializeAndSetProperty(args.Holder(), "data", dataAttr, event->dataAsSerializedScriptValue());
  • trunk/Source/WebCore/dom/MessageEvent.cpp

    r97697 r97725  
    3535
    3636MessageEventInit::MessageEventInit()
     37    : data(SerializedScriptValue::create())
    3738{
    3839}
    3940
    4041MessageEvent::MessageEvent()
    41     : m_dataType(DataTypeScriptValue)
     42    : m_dataType(DataTypeSerializedScriptValue)
     43    , m_dataAsSerializedScriptValue(SerializedScriptValue::create())
    4244{
    4345}
     
    4547MessageEvent::MessageEvent(const AtomicString& type, const MessageEventInit& initializer)
    4648    : Event(type, initializer)
    47     , m_dataType(DataTypeScriptValue)
    48     , m_dataAsScriptValue(initializer.data)
     49    , m_dataType(DataTypeSerializedScriptValue)
     50    , m_dataAsSerializedScriptValue(initializer.data)
    4951    , m_origin(initializer.origin)
    5052    , m_lastEventId(initializer.lastEventId)
    5153    , m_source(initializer.source)
    5254    , m_ports(adoptPtr(new MessagePortArray(initializer.ports)))
    53 {
    54 }
    55 
    56 MessageEvent::MessageEvent(const ScriptValue& data, const String& origin, const String& lastEventId, PassRefPtr<DOMWindow> source, PassOwnPtr<MessagePortArray> ports)
    57     : Event(eventNames().messageEvent, false, false)
    58     , m_dataType(DataTypeScriptValue)
    59     , m_dataAsScriptValue(data)
    60     , m_origin(origin)
    61     , m_lastEventId(lastEventId)
    62     , m_source(source)
    63     , m_ports(ports)
    6455{
    6556}
     
    10798}
    10899
    109 void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bool cancelable, const ScriptValue& data, const String& origin, const String& lastEventId, DOMWindow* source, PassOwnPtr<MessagePortArray> ports)
    110 {
    111     if (dispatched())
    112         return;
    113 
    114     initEvent(type, canBubble, cancelable);
    115 
    116     m_dataType = DataTypeScriptValue;
    117     m_dataAsScriptValue = data;
    118     m_origin = origin;
    119     m_lastEventId = lastEventId;
    120     m_source = source;
    121     m_ports = ports;
    122 }
    123 
    124100void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, DOMWindow* source, PassOwnPtr<MessagePortArray> ports)
    125101{
     
    154130}
    155131
    156 // FIXME: remove this when we update the ObjC bindings (bug #28774).
    157132void MessageEvent::initMessageEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, DOMWindow* source, MessagePort* port)
    158133{
     
    165140}
    166141
    167 bool MessageEvent::isMessageEvent() const
     142bool MessageEvent::isMessageEvent() const 
    168143{
    169144    return true;
  • trunk/Source/WebCore/dom/MessageEvent.h

    r97697 r97725  
    3434#include "Event.h"
    3535#include "MessagePort.h"
    36 #include "ScriptValue.h"
    3736#include "SerializedScriptValue.h"
    3837
     
    4443    MessageEventInit();
    4544
    46     ScriptValue data;
     45    RefPtr<SerializedScriptValue> data;
    4746    String origin;
    4847    String lastEventId;
     
    5756        return adoptRef(new MessageEvent);
    5857    }
    59     static PassRefPtr<MessageEvent> create(PassOwnPtr<MessagePortArray> ports, const ScriptValue& data = ScriptValue(), const String& origin = "", const String& lastEventId = "", PassRefPtr<DOMWindow> source = 0)
    60     {
    61         return adoptRef(new MessageEvent(data, origin, lastEventId, source, ports));
    62     }
    63     static PassRefPtr<MessageEvent> create(PassOwnPtr<MessagePortArray> ports, PassRefPtr<SerializedScriptValue> data, const String& origin = "", const String& lastEventId = "", PassRefPtr<DOMWindow> source = 0)
     58    static PassRefPtr<MessageEvent> create(PassOwnPtr<MessagePortArray> ports, PassRefPtr<SerializedScriptValue> data = 0, const String& origin = "", const String& lastEventId = "", PassRefPtr<DOMWindow> source = 0)
    6459    {
    6560        return adoptRef(new MessageEvent(data, origin, lastEventId, source, ports));
     
    8378    virtual ~MessageEvent();
    8479
    85     void initMessageEvent(const AtomicString& type, bool canBubble, bool cancelable, const ScriptValue& data, const String& origin, const String& lastEventId, DOMWindow* source, PassOwnPtr<MessagePortArray>);
    8680    void initMessageEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, DOMWindow* source, PassOwnPtr<MessagePortArray>);
    8781
     
    9387    // FIXME: Remove this when we have custom ObjC binding support.
    9488    SerializedScriptValue* data() const;
     89
    9590    // FIXME: remove this when we update the ObjC bindings (bug #28774).
    9691    MessagePort* messagePort();
     
    10196
    10297    enum DataType {
    103         DataTypeScriptValue,
    10498        DataTypeSerializedScriptValue,
    10599        DataTypeString,
     
    108102    };
    109103    DataType dataType() const { return m_dataType; }
    110     ScriptValue dataAsScriptValue() const { ASSERT(m_dataType == DataTypeScriptValue); return m_dataAsScriptValue; }
    111     SerializedScriptValue* dataAsSerializedScriptValue() const { ASSERT(m_dataType == DataTypeSerializedScriptValue); return m_dataAsSerializedScriptValue.get(); }
    112     String dataAsString() const { ASSERT(m_dataType == DataTypeString); return m_dataAsString; }
    113     Blob* dataAsBlob() const { ASSERT(m_dataType == DataTypeBlob); return m_dataAsBlob.get(); }
    114     ArrayBuffer* dataAsArrayBuffer() const { ASSERT(m_dataType == DataTypeArrayBuffer); return m_dataAsArrayBuffer.get(); }
     104    SerializedScriptValue* dataAsSerializedScriptValue() const { return m_dataAsSerializedScriptValue.get(); }
     105    String dataAsString() const { return m_dataAsString; }
     106    Blob* dataAsBlob() const { return m_dataAsBlob.get(); }
     107    ArrayBuffer* dataAsArrayBuffer() const { return m_dataAsArrayBuffer.get(); }
    115108
    116109private:
    117110    MessageEvent();
    118111    MessageEvent(const AtomicString&, const MessageEventInit&);
    119     MessageEvent(const ScriptValue& data, const String& origin, const String& lastEventId, PassRefPtr<DOMWindow> source, PassOwnPtr<MessagePortArray>);
    120112    MessageEvent(PassRefPtr<SerializedScriptValue> data, const String& origin, const String& lastEventId, PassRefPtr<DOMWindow> source, PassOwnPtr<MessagePortArray>);
    121113
     
    125117
    126118    DataType m_dataType;
    127     ScriptValue m_dataAsScriptValue;
    128119    RefPtr<SerializedScriptValue> m_dataAsSerializedScriptValue;
    129120    String m_dataAsString;
  • trunk/Source/WebCore/dom/MessageEvent.idl

    r97697 r97725  
    3737        readonly attribute DOMWindow source;
    3838#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
    39         readonly attribute [CachedAttribute, CustomGetter] DOMObject data;
     39        readonly attribute [CachedAttribute, CustomGetter] any data;
    4040        readonly attribute [CustomGetter] Array ports;
    4141
     
    4343                                       in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    4444                                       in [Optional=CallWithDefaultValue] boolean cancelableArg,
    45                                        in [Optional=CallWithDefaultValue] DOMObject dataArg,
     45                                       in [Optional=CallWithDefaultValue] SerializedScriptValue dataArg,
    4646                                       in [Optional=CallWithDefaultValue] DOMString originArg,
    4747                                       in [Optional=CallWithDefaultValue] DOMString lastEventIdArg,
     
    5252                                             in [Optional=CallWithDefaultValue] boolean canBubbleArg,
    5353                                             in [Optional=CallWithDefaultValue] boolean cancelableArg,
    54                                              in [Optional=CallWithDefaultValue] DOMObject dataArg,
     54                                             in [Optional=CallWithDefaultValue] SerializedScriptValue dataArg,
    5555                                             in [Optional=CallWithDefaultValue] DOMString originArg,
    5656                                             in [Optional=CallWithDefaultValue] DOMString lastEventIdArg,
Note: See TracChangeset for help on using the changeset viewer.