Changeset 57276 in webkit


Ignore:
Timestamp:
Apr 8, 2010 7:28:32 AM (14 years ago)
Author:
yurys@chromium.org
Message:

2010-04-08 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Correctly save number of properties when object being serialized
have properties in its prorotype.

https://bugs.webkit.org/show_bug.cgi?id=37263

  • bindings/v8/SerializedScriptValue.cpp: (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState): (WebCore::ZigZag::Serializer::AbstractObjectState::advance):

2010-04-08 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Test that object with ptototype can be sent as message.

https://bugs.webkit.org/show_bug.cgi?id=37263

  • fast/dom/Window/window-postmessage-clone-expected.txt:
  • fast/dom/Window/window-postmessage-clone.html:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r57274 r57276  
     12010-04-08  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Test that object with ptototype can be sent as message.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=37263
     8
     9        * fast/dom/Window/window-postmessage-clone-expected.txt:
     10        * fast/dom/Window/window-postmessage-clone.html:
     11
    1122010-04-08  Kent Tamura  <tkent@chromium.org>
    213
  • trunk/LayoutTests/fast/dom/Window/window-postmessage-clone-expected.txt

    r54646 r57276  
    1616PASS: eventData is null of type object
    1717PASS: eventData is 2009-02-13T23:31:30.000Z of type object
     18PASS: eventData is [object Object] of type object
    1819PASS: eventData is [object Array](default toString threw RangeError: Maximum call stack size exceeded.) of type object
    1920PASS: eventData is [object File] of type object
  • trunk/LayoutTests/fast/dom/Window/window-postmessage-clone.html

    r54646 r57276  
    9393window.addEventListener('message', onmessage, false);
    9494
     95function ConstructorWithPrototype(s) {
     96    this.field = s;
     97}
     98
     99ConstructorWithPrototype.prototype = {
     100    protoProperty: 2010
     101};
     102
    95103function tryPostMessage(message, shouldThrow, expected) {
    96104    try {
     
    122130tryPostMessage('(function(){})', false, 'null');
    123131tryPostMessage('new Date(1234567890000)');
     132tryPostMessage('new ConstructorWithPrototype("foo")', false, '({field:"foo"})');
    124133cyclicObject={};
    125134cyclicObject.self = cyclicObject;
  • trunk/WebCore/ChangeLog

    r57275 r57276  
     12010-04-08  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Correctly save number of properties when object being serialized
     6        have properties in its prorotype.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=37263
     9
     10        * bindings/v8/SerializedScriptValue.cpp:
     11        (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
     12        (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
     13
    1142010-04-08  Jeremy Orlow  <jorlow@chromium.org>
    215
  • trunk/WebCore/bindings/v8/SerializedScriptValue.cpp

    r57207 r57276  
    385385            , m_propertyNames(object->GetPropertyNames())
    386386            , m_index(-1)
     387            , m_numSerializedProperties(0)
    387388            , m_nameDone(false)
    388389        {
     
    410411                m_nameDone = false;
    411412                m_propertyName.Clear();
     413                ++m_numSerializedProperties;
    412414                if (StateBase* newState = serializer.doSerialize(value, this))
    413415                    return newState;
    414416            }
    415             return objectDone(m_index, serializer);
     417            return objectDone(m_numSerializedProperties, serializer);
    416418        }
    417419
     
    423425        v8::Local<v8::Value> m_propertyName;
    424426        unsigned m_index;
     427        unsigned m_numSerializedProperties;
    425428        bool m_nameDone;
    426429    };
Note: See TracChangeset for help on using the changeset viewer.