Changeset 113279 in webkit


Ignore:
Timestamp:
Apr 4, 2012 7:50:25 PM (12 years ago)
Author:
rafaelw@chromium.org
Message:

[MutationObservers] implement takeRecords()
https://bugs.webkit.org/show_bug.cgi?id=83218

Reviewed by Ojan Vafai.

Source/WebCore:

This patch implements MutationObserver.takeRecords per the DOM4 spec.
takeRecords retrieves and clears any pending mutation records for
the observer.

Test: fast/mutation/takeRecords.html

  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::takeRecords):
(WebCore):
(WebCore::WebKitMutationObserver::deliver):

  • dom/WebKitMutationObserver.h:
  • dom/WebKitMutationObserver.idl:

LayoutTests:

  • fast/mutation/takeRecords-expected.txt: Added.
  • fast/mutation/takeRecords.html: Added.
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r113278 r113279  
     12012-04-04  Rafael Weinstein  <rafaelw@chromium.org>
     2
     3        [MutationObservers] implement takeRecords()
     4        https://bugs.webkit.org/show_bug.cgi?id=83218
     5
     6        Reviewed by Ojan Vafai.
     7
     8        * fast/mutation/takeRecords-expected.txt: Added.
     9        * fast/mutation/takeRecords.html: Added.
     10
    1112012-04-04  Abhishek Arya  <inferno@chromium.org>
    212
  • trunk/Source/WebCore/ChangeLog

    r113276 r113279  
     12012-04-04  Rafael Weinstein  <rafaelw@chromium.org>
     2
     3        [MutationObservers] implement takeRecords()
     4        https://bugs.webkit.org/show_bug.cgi?id=83218
     5
     6        Reviewed by Ojan Vafai.
     7
     8        This patch implements MutationObserver.takeRecords per the DOM4 spec.
     9        takeRecords retrieves and clears any pending mutation records for
     10        the observer.
     11
     12        Test: fast/mutation/takeRecords.html
     13
     14        * dom/WebKitMutationObserver.cpp:
     15        (WebCore::WebKitMutationObserver::takeRecords):
     16        (WebCore):
     17        (WebCore::WebKitMutationObserver::deliver):
     18        * dom/WebKitMutationObserver.h:
     19        * dom/WebKitMutationObserver.idl:
     20
    1212012-04-04  Shinya Kawanaka  <shinyak@chromium.org>
    222
  • trunk/Source/WebCore/dom/WebKitMutationObserver.cpp

    r110465 r113279  
    101101}
    102102
     103Vector<RefPtr<MutationRecord> > WebKitMutationObserver::takeRecords()
     104{
     105    Vector<RefPtr<MutationRecord> > records;
     106    records.swap(m_records);
     107    return records;
     108}
     109
    103110void WebKitMutationObserver::disconnect()
    104111{
     
    141148        return;
    142149
    143     MutationRecordArray records;
     150    Vector<RefPtr<MutationRecord> > records;
    144151    records.swap(m_records);
    145152
  • trunk/Source/WebCore/dom/WebKitMutationObserver.h

    r110465 r113279  
    8080
    8181    void observe(Node*, MutationObserverOptions, const HashSet<AtomicString>& attributeFilter, ExceptionCode&);
     82    Vector<RefPtr<MutationRecord> > takeRecords();
    8283    void disconnect();
    8384    void observationStarted(MutationObserverRegistration*);
  • trunk/Source/WebCore/dom/WebKitMutationObserver.idl

    r109035 r113279  
    3737        [Custom] void observe(in Node target, in MutationObserverOptions options)
    3838            raises(DOMException);
     39        sequence<MutationRecord> takeRecords();
    3940        void disconnect();
    4041    };
Note: See TracChangeset for help on using the changeset viewer.