Changeset 207355 in webkit


Ignore:
Timestamp:
Oct 14, 2016 3:16:34 PM (7 years ago)
Author:
Chris Dumez
Message:

Unreviewed, rolling out r207319.

Regressed Dromaeo and may have caused crashes under
GuardMalloc (rdar://problem/28780835)

Reverted changeset:

"[Web IDL] Add support for [SameObject] extended attribute"
https://bugs.webkit.org/show_bug.cgi?id=163414
http://trac.webkit.org/changeset/207319

Location:
trunk
Files:
2 deleted
36 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r207343 r207355  
     12016-10-14  Chris Dumez  <cdumez@apple.com>
     2
     3        Unreviewed, rolling out r207319.
     4
     5        Regressed Dromaeo and may have caused crashes under
     6        GuardMalloc (rdar://problem/28780835)
     7
     8        Reverted changeset:
     9
     10        "[Web IDL] Add support for [SameObject] extended attribute"
     11        https://bugs.webkit.org/show_bug.cgi?id=163414
     12        http://trac.webkit.org/changeset/207319
     13
    1142016-10-14  Manuel Rego Casasnovas  <rego@igalia.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r207352 r207355  
     12016-10-14  Chris Dumez  <cdumez@apple.com>
     2
     3        Unreviewed, rolling out r207319.
     4
     5        Regressed Dromaeo and may have caused crashes under
     6        GuardMalloc (rdar://problem/28780835)
     7
     8        Reverted changeset:
     9
     10        "[Web IDL] Add support for [SameObject] extended attribute"
     11        https://bugs.webkit.org/show_bug.cgi?id=163414
     12        http://trac.webkit.org/changeset/207319
     13
    1142016-10-14  Anders Carlsson  <andersca@apple.com>
    215
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r207328 r207355  
    351351
    352352    return IsDOMGlobalObject($interface);
    353 }
    354 
    355 sub ShouldCacheAttribute
    356 {
    357     my $attribute = shift;
    358 
    359     return 1 if $attribute->signature->extendedAttributes->{CachedAttribute};
    360     return 1 if $attribute->signature->extendedAttributes->{SameObject};
    361     return 0;
    362353}
    363354
     
    14911482            $numCustomAttributes++ if HasCustomGetter($attribute->signature->extendedAttributes);
    14921483            $numCustomAttributes++ if HasCustomSetter($attribute->signature->extendedAttributes);
    1493             if (ShouldCacheAttribute($attribute)) {
     1484            if ($attribute->signature->extendedAttributes->{CachedAttribute}) {
    14941485                my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature);
    14951486                push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
     
    30743065            }
    30753066
    3076             $needsVisitChildren = 1 if ShouldCacheAttribute($attribute);
     3067            $needsVisitChildren = 1 if $attribute->signature->extendedAttributes->{CachedAttribute};
    30773068
    30783069            if ($interface->extendedAttributes->{CheckSecurity} &&
     
    31493140            } elsif (!$attribute->signature->extendedAttributes->{GetterMayThrowLegacyException}) {
    31503141                my $cacheIndex = 0;
    3151                 if (ShouldCacheAttribute($attribute)) {
     3142                if ($attribute->signature->extendedAttributes->{CachedAttribute}) {
    31523143                    $cacheIndex = $currentCachedAttribute;
    31533144                    $currentCachedAttribute++;
     
    31923183                }
    31933184
    3194                 push(@implContent, "    thisObject.m_" . $attribute->signature->name . ".set(state.vm(), &thisObject, result);\n") if ShouldCacheAttribute($attribute);
     3185                push(@implContent, "    thisObject.m_" . $attribute->signature->name . ".set(state.vm(), &thisObject, result);\n") if $attribute->signature->extendedAttributes->{CachedAttribute};
    31953186                push(@implContent, "    return result;\n");
    31963187
     
    37783769            foreach (@{$interface->attributes}) {
    37793770                my $attribute = $_;
    3780                 if (ShouldCacheAttribute($attribute)) {
     3771                if ($attribute->signature->extendedAttributes->{CachedAttribute}) {
    37813772                    push(@implContent, "    visitor.append(&thisObject->m_" . $attribute->signature->name . ");\n");
    37823773                }
  • trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt

    r207319 r207355  
    115115ReportExternalMemoryCost
    116116RequiresExistingAtomicString
    117 SameObject
    118117SetterCallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack|ActiveWindow|FirstWindow
    119118SetterMayThrowException
  • trunk/Source/WebCore/dom/DataTransfer.idl

    r207319 r207355  
    3434
    3535    [CustomGetter] readonly attribute Array types;
    36     [SameObject] readonly attribute FileList files;
     36    readonly attribute FileList files;
    3737
    3838    void clearData(optional DOMString type);
     
    4141    void setDragImage(Element? image, long x, long y); // FIXME: Element argument is not nullable in the HTML standard.
    4242
    43     // FIXME: Should be [SameObject].
    4443    [Conditional=DATA_TRANSFER_ITEMS] readonly attribute DataTransferItemList items;
    4544};
  • trunk/Source/WebCore/dom/Document.idl

    r207319 r207355  
    2929] interface Document : Node {
    3030    readonly attribute DocumentType? doctype;
    31     [SameObject] readonly attribute DOMImplementation implementation;
     31    readonly attribute DOMImplementation implementation;
    3232    readonly attribute Element? documentElement;
    3333
     
    106106
    107107    readonly attribute HTMLHeadElement? head;
    108     [SameObject] readonly attribute HTMLCollection images;
    109     [SameObject] readonly attribute HTMLCollection applets;
    110     [SameObject] readonly attribute HTMLCollection links;
    111     [SameObject] readonly attribute HTMLCollection forms;
    112     [SameObject] readonly attribute HTMLCollection anchors;
    113     [SameObject] readonly attribute HTMLCollection embeds;
    114     [SameObject] readonly attribute HTMLCollection plugins;
    115     [SameObject] readonly attribute HTMLCollection scripts;
     108    readonly attribute HTMLCollection images;
     109    readonly attribute HTMLCollection applets;
     110    readonly attribute HTMLCollection links;
     111    readonly attribute HTMLCollection forms;
     112    readonly attribute HTMLCollection anchors;
     113    readonly attribute HTMLCollection embeds;
     114    readonly attribute HTMLCollection plugins;
     115    readonly attribute HTMLCollection scripts;
    116116    readonly attribute DOMString lastModified;
    117117
  • trunk/Source/WebCore/dom/Element.idl

    r207319 r207355  
    3939    HTMLCollection getElementsByTagName(DOMString name);
    4040
    41     [SameObject] readonly attribute NamedNodeMap attributes;
     41    readonly attribute NamedNodeMap attributes;
    4242    boolean hasAttributes();
    4343
     
    102102
    103103    [CEReactions, Reflect=class] attribute DOMString className;
    104     [SameObject, PutForwards=value] readonly attribute DOMTokenList classList;
     104    [PutForwards=value] readonly attribute DOMTokenList classList;
    105105
    106106    [MayThrowLegacyException] boolean matches(DOMString selectors);
  • trunk/Source/WebCore/dom/MutationRecord.idl

    r207319 r207355  
    3333] interface MutationRecord {
    3434    readonly attribute DOMString type;
    35     [SameObject] readonly attribute Node target;
     35    readonly attribute Node target;
    3636
    37     [SameObject] readonly attribute NodeList addedNodes;
    38     [SameObject] readonly attribute NodeList removedNodes;
     37    readonly attribute NodeList addedNodes;
     38    readonly attribute NodeList removedNodes;
    3939    readonly attribute Node previousSibling;
    4040    readonly attribute Node nextSibling;
  • trunk/Source/WebCore/dom/Node.idl

    r207319 r207355  
    4949    [DOMJIT, CustomGetter] readonly attribute unsigned short nodeType;
    5050    [DOMJIT] readonly attribute Node? parentNode;
    51     [SameObject] readonly attribute NodeList childNodes;
     51    readonly attribute NodeList childNodes;
    5252    [DOMJIT] readonly attribute Node? firstChild;
    5353    [DOMJIT] readonly attribute Node? lastChild;
  • trunk/Source/WebCore/dom/NodeIterator.idl

    r207319 r207355  
    2424    JSCustomMarkFunction,
    2525] interface NodeIterator {
    26     [SameObject] readonly attribute Node root;
     26    readonly attribute Node root;
    2727    readonly attribute unsigned long whatToShow;
    2828    readonly attribute NodeFilter filter;
  • trunk/Source/WebCore/dom/ParentNode.idl

    r207319 r207355  
    2929    NoInterfaceObject,
    3030] interface ParentNode {
    31     [SameObject] readonly attribute HTMLCollection children;
     31    readonly attribute HTMLCollection children;
    3232    readonly attribute Element firstElementChild;
    3333    readonly attribute Element lastElementChild;
  • trunk/Source/WebCore/dom/TreeWalker.idl

    r207319 r207355  
    2424    JSCustomMarkFunction,
    2525] interface TreeWalker {
    26     [SameObject] readonly attribute Node root;
     26    readonly attribute Node root;
    2727    readonly attribute unsigned long whatToShow;
    2828    readonly attribute NodeFilter filter;
  • trunk/Source/WebCore/html/HTMLAnchorElement.idl

    r207319 r207355  
    3434    attribute DOMString text;
    3535
    36     [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
     36    [PutForwards=value] readonly attribute DOMTokenList relList;
    3737};
    3838
  • trunk/Source/WebCore/html/HTMLAreaElement.idl

    r207319 r207355  
    3030    [Conditional=DOWNLOAD_ATTRIBUTE, EnabledAtRuntime=DownloadAttribute, Reflect] attribute DOMString download;
    3131
    32     [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
     32    [PutForwards=value] readonly attribute DOMTokenList relList;
    3333};
    3434
  • trunk/Source/WebCore/html/HTMLButtonElement.idl

    r207319 r207355  
    4040    void setCustomValidity(DOMString? error);
    4141
    42     [SameObject] readonly attribute NodeList labels;
     42    readonly attribute NodeList labels;
    4343};
  • trunk/Source/WebCore/html/HTMLDataListElement.idl

    r207319 r207355  
    3232    Conditional=DATALIST_ELEMENT,
    3333] interface HTMLDataListElement : HTMLElement {
    34     [SameObject] readonly attribute HTMLCollection options;
     34    readonly attribute HTMLCollection options;
    3535};
  • trunk/Source/WebCore/html/HTMLDocument.idl

    r207319 r207355  
    3131    [Custom] void writeln(optional DOMString text);
    3232
    33     // FIXME: Should be [SameObject].
    3433    [Custom, Replaceable, Deletable] readonly attribute HTMLAllCollection all;
    3534
  • trunk/Source/WebCore/html/HTMLElement.idl

    r207319 r207355  
    3737    [Reflect] attribute DOMString webkitdropzone;
    3838    // FIXME: Support the standard HTML equivalent.
    39     // [SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone;
     39    // [PutForwards=value] readonly attribute DOMTokenList dropzone;
    4040
    4141    [Reflect] attribute boolean hidden;
     
    5555    void blur();
    5656
    57     [SameObject] readonly attribute DOMStringMap dataset;
     57    readonly attribute DOMStringMap dataset;
    5858};
    5959
  • trunk/Source/WebCore/html/HTMLFieldSetElement.idl

    r207319 r207355  
    2525    readonly attribute DOMString type;
    2626
    27     [SameObject] readonly attribute HTMLFormControlsCollection elements;
     27    readonly attribute HTMLFormControlsCollection elements;
    2828
    2929    readonly attribute boolean         willValidate;
    30     [SameObject] readonly attribute ValidityState validity;
     30    readonly attribute ValidityState  validity;
    3131    readonly attribute DOMString       validationMessage;
    3232    boolean  checkValidity();
  • trunk/Source/WebCore/html/HTMLFormElement.idl

    r207319 r207355  
    3636    [Reflect] attribute DOMString target;
    3737
    38     [SameObject] readonly attribute HTMLFormControlsCollection elements;
     38    readonly attribute HTMLFormControlsCollection elements;
    3939    readonly attribute long length;
    4040
  • trunk/Source/WebCore/html/HTMLIFrameElement.idl

    r207319 r207355  
    2828    [Reflect] attribute DOMString name;
    2929
    30     [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox;
     30    [PutForwards=value] readonly attribute DOMTokenList sandbox;
    3131    [Reflect] attribute boolean allowFullscreen;
    3232
  • trunk/Source/WebCore/html/HTMLInputElement.idl

    r207319 r207355  
    7474    void setCustomValidity(DOMString? error);
    7575
    76     [SameObject] readonly attribute NodeList labels;
     76    readonly attribute NodeList labels;
    7777
    7878    void select();
  • trunk/Source/WebCore/html/HTMLKeygenElement.idl

    r207319 r207355  
    4545    void setCustomValidity(DOMString? error);
    4646
    47     [SameObject] readonly attribute NodeList labels;
     47    readonly attribute NodeList labels;
    4848};
    4949
  • trunk/Source/WebCore/html/HTMLLinkElement.idl

    r207319 r207355  
    3131    [Reflect] attribute DOMString rel;
    3232    [Reflect] attribute DOMString rev;
    33     [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
     33    [PutForwards=value] readonly attribute DOMTokenList sizes;
    3434    [Reflect] attribute DOMString target;
    3535    [Reflect] attribute DOMString type;
     
    4040    readonly attribute StyleSheet sheet;
    4141
    42     [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
     42    [PutForwards=value] readonly attribute DOMTokenList relList;
    4343};
    4444
  • trunk/Source/WebCore/html/HTMLMapElement.idl

    r207319 r207355  
    2020
    2121interface HTMLMapElement : HTMLElement {
    22     [SameObject] readonly attribute HTMLCollection areas;
     22    readonly attribute HTMLCollection areas;
    2323    [Reflect] attribute DOMString name;
    2424};
  • trunk/Source/WebCore/html/HTMLMediaElement.idl

    r207319 r207355  
    9696
    9797    [Conditional=VIDEO_TRACK, MayThrowLegacyException] TextTrack addTextTrack(DOMString kind, optional DOMString label = "", optional DOMString language = "");
    98     [Conditional=VIDEO_TRACK, SameObject] readonly attribute AudioTrackList audioTracks;
    99     [Conditional=VIDEO_TRACK, SameObject] readonly attribute TextTrackList textTracks;
    100     [Conditional=VIDEO_TRACK, SameObject] readonly attribute VideoTrackList videoTracks;
     98    [Conditional=VIDEO_TRACK] readonly attribute AudioTrackList audioTracks;
     99    [Conditional=VIDEO_TRACK] readonly attribute TextTrackList textTracks;
     100    [Conditional=VIDEO_TRACK] readonly attribute VideoTrackList videoTracks;
    101101
    102102    [Reflect] attribute DOMString mediaGroup;
  • trunk/Source/WebCore/html/HTMLMeterElement.idl

    r207319 r207355  
    2727    attribute double high;
    2828    attribute double optimum;
    29     [SameObject] readonly attribute NodeList labels;
     29    readonly attribute NodeList labels;
    3030};
  • trunk/Source/WebCore/html/HTMLOutputElement.idl

    r207319 r207355  
    2424
    2525interface HTMLOutputElement : HTMLElement {
    26     [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
     26    [PutForwards=value] readonly attribute DOMTokenList htmlFor;
    2727
    2828    readonly attribute HTMLFormElement form;
     
    3939    void setCustomValidity(DOMString? error);
    4040
    41     [SameObject] readonly attribute NodeList labels;
     41    readonly attribute NodeList labels;
    4242};
  • trunk/Source/WebCore/html/HTMLProgressElement.idl

    r207319 r207355  
    1919
    2020interface HTMLProgressElement : HTMLElement {
    21     [SetterMayThrowLegacyException] attribute unrestricted double value;
    22     [SetterMayThrowLegacyException] attribute unrestricted double max;
    23     readonly attribute  unrestricted double position;
    24     [SameObject] readonly attribute NodeList labels;
     21    [SetterMayThrowLegacyException] attribute  unrestricted double value;
     22    [SetterMayThrowLegacyException] attribute  unrestricted double max;
     23    readonly attribute  unrestricted double                position;
     24    readonly attribute  NodeList              labels;
    2525};
    2626
  • trunk/Source/WebCore/html/HTMLSelectElement.idl

    r207319 r207355  
    3535    readonly attribute DOMString type;
    3636
    37     [SameObject] readonly attribute HTMLOptionsCollection options;
     37    readonly attribute HTMLOptionsCollection options;
    3838    [SetterMayThrowLegacyException] attribute unsigned long length;
    3939
     
    5151    [ImplementedAs=removeByIndex] void remove(long index);
    5252
    53     [SameObject] readonly attribute HTMLCollection selectedOptions;
     53    readonly attribute HTMLCollection selectedOptions;
    5454    attribute long selectedIndex;
    5555
     
    6262    void setCustomValidity(DOMString? error); // FIXME: Argument should not be nullable.
    6363
    64     [SameObject] readonly attribute NodeList labels;
     64    readonly attribute NodeList labels;
    6565
    6666    attribute DOMString autocomplete;
  • trunk/Source/WebCore/html/HTMLTableElement.idl

    r207319 r207355  
    2424    [SetterMayThrowLegacyException] attribute HTMLTableSectionElement? tFoot;
    2525
    26     [SameObject] readonly attribute HTMLCollection rows;
    27     [SameObject] readonly attribute HTMLCollection tBodies;
     26    readonly attribute HTMLCollection rows;
     27    readonly attribute HTMLCollection tBodies;
    2828    [Reflect] attribute DOMString align;
    2929    [Reflect, TreatNullAs=EmptyString] attribute DOMString bgColor;
  • trunk/Source/WebCore/html/HTMLTableRowElement.idl

    r207319 r207355  
    2222    readonly attribute long rowIndex;
    2323    readonly attribute long sectionRowIndex;
    24     [SameObject] readonly attribute HTMLCollection cells;
     24    readonly attribute HTMLCollection cells;
    2525    [Reflect] attribute DOMString align;
    2626    [Reflect, TreatNullAs=EmptyString] attribute DOMString bgColor;
  • trunk/Source/WebCore/html/HTMLTableSectionElement.idl

    r207319 r207355  
    2626    [Reflect=charoff] attribute DOMString chOff;
    2727    [Reflect] attribute DOMString vAlign;
    28     [SameObject] readonly attribute HTMLCollection rows;
     28    readonly attribute HTMLCollection rows;
    2929    [MayThrowLegacyException] HTMLElement insertRow(optional long index = -1);
    3030    [MayThrowLegacyException] void deleteRow(long index);
  • trunk/Source/WebCore/html/HTMLTextAreaElement.idl

    r207319 r207355  
    4646    void setCustomValidity(DOMString? error);
    4747
    48     [SameObject] readonly attribute NodeList labels;
     48    readonly attribute NodeList labels;
    4949
    5050    void select();
  • trunk/Source/WebCore/page/Location.idl

    r207319 r207355  
    5959    readonly attribute USVString origin;
    6060
    61     [Unforgeable, SameObject] readonly attribute FrozenArray<USVString> ancestorOrigins;
     61    // FIXME: Add support for SameObject
     62    [Unforgeable, CachedAttribute] readonly attribute FrozenArray<USVString> ancestorOrigins;
    6263};
  • trunk/Source/WebCore/page/Navigator.idl

    r207319 r207355  
    2121    GenerateIsReachable=ImplFrame,
    2222] interface Navigator {
    23     [SameObject] readonly attribute DOMPluginArray plugins;
    24     [SameObject] readonly attribute DOMMimeTypeArray mimeTypes;
     23    readonly attribute DOMPluginArray plugins;
     24    readonly attribute DOMMimeTypeArray mimeTypes;
    2525    [Nondeterministic] readonly attribute boolean cookieEnabled;
    2626    [Nondeterministic] boolean javaEnabled();
Note: See TracChangeset for help on using the changeset viewer.