Changeset 107035 in webkit
- Timestamp:
- Feb 7, 2012 8:23:34 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 1 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r107031 r107035 1 2012-02-07 Erik Arvidsson <arv@chromium.org> 2 3 [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference 4 https://bugs.webkit.org/show_bug.cgi?id=78052 5 6 Reviewed by Nate Chapin. 7 8 * platform/chromium/test_expectations.txt: 9 1 10 2012-02-07 Julien Chaffraix <jchaffraix@webkit.org> 2 11 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r106995 r107035 586 586 BUGWK66377 : fast/dom/StyleSheet/gc-parent-stylesheet.html = TEXT 587 587 BUGWK66377 : fast/dom/StyleSheet/gc-rule-children-wrappers.html = TEXT 588 BUGWK66377 : fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml = TEXT589 588 590 589 // ----------------------------------------------------------------- -
trunk/Source/WebCore/ChangeLog
r107034 r107035 1 2012-02-07 Erik Arvidsson <arv@chromium.org> 2 3 [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference 4 https://bugs.webkit.org/show_bug.cgi?id=78052 5 6 Reviewed by Nate Chapin. 7 8 Before this patch the code generator did not add the named hidden reference when the data node 9 was a DOM Node. This lead to us having to create custom toV8 bindings in a few places. 10 11 Covered by existing tests 12 13 * Target.pri: 14 * UseV8.cmake: 15 * WebCore.gypi: 16 * bindings/scripts/CodeGeneratorV8.pm: 17 (GenerateNormalAttrGetter): 18 (HasCustomToV8Implementation): 19 * bindings/v8/custom/V8DOMStringMapCustom.cpp: 20 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed. 21 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 22 1 23 2012-02-07 Kentaro Hara <haraken@chromium.org> 2 24 -
trunk/Source/WebCore/Target.pri
r106953 r107035 159 159 bindings/v8/custom/V8InjectedScriptManager.cpp \ 160 160 bindings/v8/custom/V8InspectorFrontendHostCustom.cpp \ 161 bindings/v8/custom/V8DOMStringMapCustom.cpp \ 162 bindings/v8/custom/V8DOMTokenListCustom.cpp 161 bindings/v8/custom/V8DOMStringMapCustom.cpp 163 162 164 163 SOURCES += \ -
trunk/Source/WebCore/UseV8.cmake
r103882 r107035 82 82 bindings/v8/custom/V8DOMFormDataCustom.cpp 83 83 bindings/v8/custom/V8DOMStringMapCustom.cpp 84 bindings/v8/custom/V8DOMTokenListCustom.cpp85 84 bindings/v8/custom/V8DOMWindowCustom.cpp 86 85 bindings/v8/custom/V8DataViewCustom.cpp -
trunk/Source/WebCore/WebCore.gypi
r107027 r107035 1817 1817 'bindings/v8/custom/V8DOMFormDataCustom.cpp', 1818 1818 'bindings/v8/custom/V8DOMStringMapCustom.cpp', 1819 'bindings/v8/custom/V8DOMTokenListCustom.cpp',1820 1819 'bindings/v8/custom/V8DOMWindowCustom.cpp', 1821 1820 'bindings/v8/custom/V8DataViewCustom.cpp', -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r107004 r107035 4 4 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org> 5 5 # Copyright (C) 2006 Apple Computer, Inc. 6 # Copyright (C) 2007 , 2008, 2009Google Inc.6 # Copyright (C) 2007-2012 Google Inc. 7 7 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> 8 8 # Copyright (C) Research In Motion Limited 2010. All rights reserved. … … 923 923 # garbage-collected prematurely when their lifetime is strongly tied to their owner. We accomplish this by inserting a reference to 924 924 # the newly created wrapper into an internal field of the holder object. 925 if ( !IsNodeSubType($dataNode) &&$attrName ne "self" && (IsWrapperType($returnType) && ($attribute->type =~ /^readonly/ || $attribute->signature->extendedAttributes->{"Replaceable"})925 if ($attrName ne "self" && (IsWrapperType($returnType) && ($attribute->type =~ /^readonly/ || $attribute->signature->extendedAttributes->{"Replaceable"}) 926 926 && $returnType ne "EventTarget" && $returnType ne "SerializedScriptValue" && $returnType ne "DOMWindow" 927 927 && $returnType !~ /SVG/ && $returnType !~ /HTML/ && !IsDOMNodeType($returnType))) { … … 3120 3120 return 1 if $interfaceName eq "CSSStyleSheet"; 3121 3121 return 1 if $interfaceName eq "CanvasPixelArray"; 3122 return 1 if $interfaceName eq "DOMStringMap";3123 3122 return 1 if $interfaceName eq "DOMWindow"; 3124 return 1 if $interfaceName eq "DOMTokenList";3125 3123 return 1 if $interfaceName eq "Element"; 3126 3124 return 1 if $interfaceName eq "HTMLDocument"; 3127 3125 return 1 if $interfaceName eq "HTMLElement"; 3128 3126 return 1 if $interfaceName eq "Location"; 3129 return 1 if $interfaceName eq "NamedNodeMap";3130 3127 return 1 if $interfaceName eq "SVGDocument"; 3131 3128 return 1 if $interfaceName eq "SVGElement"; … … 3143 3140 return 0 if $interfaceName eq "StyleSheetList"; 3144 3141 return 0 if $interfaceName eq "DOMImplementation"; 3145 return 0 if $interfaceName eq "DOMStringMap";3146 return 0 if $interfaceName eq "DOMTokenList";3147 3142 return 0 if $interfaceName eq "TextTrack"; 3148 3143 -
trunk/Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp
r100247 r107035 1 1 /* 2 * Copyright (C) 201 0Google Inc. All rights reserved.2 * Copyright (C) 2012 Google Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 85 85 } 86 86 87 v8::Handle<v8::Value> toV8(DOMStringMap* impl)88 {89 if (!impl)90 return v8::Null();91 v8::Handle<v8::Object> wrapper = V8DOMStringMap::wrap(impl);92 // Add a hidden reference from the element to the DOMStringMap.93 Element* element = impl->element();94 if (!wrapper.IsEmpty() && element) {95 v8::Handle<v8::Value> elementValue = toV8(element);96 if (!elementValue.IsEmpty() && elementValue->IsObject())97 V8DOMWrapper::setNamedHiddenReference(elementValue.As<v8::Object>(), "domStringMap", wrapper);98 }99 return wrapper;100 }101 102 87 } // namespace WebCore -
trunk/Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp
r95901 r107035 1 1 /* 2 * Copyright (C) 2007-20 09Google Inc. All rights reserved.2 * Copyright (C) 2007-2012 Google Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 72 72 } 73 73 74 v8::Handle<v8::Value> toV8(NamedNodeMap* impl)75 {76 if (!impl)77 return v8::Null();78 v8::Handle<v8::Object> wrapper = V8NamedNodeMap::wrap(impl);79 // Add a hidden reference from named node map to its owner node.80 Element* element = impl->element();81 if (!wrapper.IsEmpty() && element)82 V8DOMWrapper::setNamedHiddenReference(wrapper, "ownerNode", toV8(element));83 return wrapper;84 }85 86 74 } // namespace WebCore
Note: See TracChangeset
for help on using the changeset viewer.