Changeset 82981 in webkit


Ignore:
Timestamp:
Apr 5, 2011 2:20:31 PM (13 years ago)
Author:
vitalyr@chromium.org
Message:

2011-04-04 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by Adam Barth.

[V8] Keep dirty primitive CSS values alive.
https://bugs.webkit.org/show_bug.cgi?id=57810

  • bindings/v8/V8GCController.cpp: (WebCore::GrouperVisitor::visitDOMWrapper):

2011-04-04 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by Adam Barth.

[V8] Keep dirty primitive CSS values alive.
https://bugs.webkit.org/show_bug.cgi?id=57810

  • platform/chromium/test_expectations.txt: Mark fast/dom/StyleSheet/gc-inline-style-cssvalues.html as passing.
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r82979 r82981  
     12011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        [V8] Keep dirty primitive CSS values alive.
     6        https://bugs.webkit.org/show_bug.cgi?id=57810
     7
     8        * platform/chromium/test_expectations.txt: Mark
     9        fast/dom/StyleSheet/gc-inline-style-cssvalues.html as passing.
     10
    1112011-04-05  Brian Weinstein  <bweinstein@apple.com>
    212
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r82975 r82981  
    31213121BUGCR75632 LINUX : svg/W3C-SVG-1.1/text-text-03-b.svg = CRASH PASS
    31223122
    3123 // I (antonm) am working on proper fix for it.  Temporary suppressing text differences.
    3124 BUGWK55399 : fast/dom/StyleSheet/gc-inline-style-cssvalues.html = TEXT
    3125 
    31263123// Test changed in Wk r80743, throws an exception rather than returning 'true'
    31273124BUGCR75740 : fast/js/regexp-test-null-string.html = FAIL
  • trunk/Source/WebCore/ChangeLog

    r82969 r82981  
     12011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        [V8] Keep dirty primitive CSS values alive.
     6        https://bugs.webkit.org/show_bug.cgi?id=57810
     7
     8        * bindings/v8/V8GCController.cpp:
     9        (WebCore::GrouperVisitor::visitDOMWrapper):
     10
    1112011-04-05  Simon Fraser  <simon.fraser@apple.com>
    212
  • trunk/Source/WebCore/bindings/v8/V8GCController.cpp

    r81281 r82981  
    360360            m_grouper.append(GrouperItem(groupId, wrapper));
    361361
     362            // Keep alive "dirty" primitive values (i.e. the ones that
     363            // have user-added properties) by creating implicit
     364            // references between the style declaration and the values
     365            // in it.
     366            if (cssStyleDeclaration->isMutableStyleDeclaration()) {
     367                CSSMutableStyleDeclaration* cssMutableStyleDeclaration = static_cast<CSSMutableStyleDeclaration*>(cssStyleDeclaration);
     368                Vector<v8::Persistent<v8::Value> > values;
     369                values.reserveCapacity(cssMutableStyleDeclaration->length());
     370                CSSMutableStyleDeclaration::const_iterator end = cssMutableStyleDeclaration->end();
     371                for (CSSMutableStyleDeclaration::const_iterator it = cssMutableStyleDeclaration->begin(); it != end; ++it) {
     372                    v8::Persistent<v8::Object> value = store->domObjectMap().get(it->value());
     373                    if (!value.IsEmpty() && value->IsDirty())
     374                        values.append(value);
     375                }
     376                if (!values.isEmpty())
     377                    v8::V8::AddImplicitReferences(wrapper, values.data(), values.size());
     378            }
     379
    362380        } else if (typeInfo->isSubclass(&V8CSSRuleList::info)) {
    363381            CSSRuleList* cssRuleList = static_cast<CSSRuleList*>(object);
Note: See TracChangeset for help on using the changeset viewer.