Changeset 63057 in webkit


Ignore:
Timestamp:
Jul 10, 2010 11:54:44 PM (14 years ago)
Author:
Darin Adler
Message:

2010-07-10 Darin Adler <Darin Adler>

Reviewed by Anders Carlsson.

Enhance content attribute reflection for URL attributes, including adding a non-empty option
https://bugs.webkit.org/show_bug.cgi?id=42040

Test: fast/dom/URL-attribute-reflection.html

Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
a new option, NonEmpty, which implements the non-empty URL concept from the
HTML5 specification.

  • bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL extended attributes to come in separately. The URL one simply means "the string of this attribute is a URL", since we don't have a distinct type for URL. Also added a new NonEmpty extended attribute.
  • bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
  • bindings/scripts/CodeGeneratorV8.pm: Ditto.
  • bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases and the fix I made to the reflectedCustomURLAttr test.
  • bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
  • bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestObj.h: Ditto.
  • bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
  • bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
  • bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8 bindig writes out the keywords into the generated file as comments, so the keyword change had a direct efffect on the output file.
  • bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use the new syntax. Added test cases for NonEmpty. Fixed the name of reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr instead; never noticed because we never compile the test output.
  • dom/Element.cpp: (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also by any code that wants to implement the non-empty URL content attribute semantic.
  • dom/Element.h: Ditto.
  • html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
  • html/HTMLAreaElement.idl: Ditto.
  • html/HTMLFrameElement.idl: Ditto.
  • html/HTMLImageElement.idl: Ditto.
  • html/HTMLInputElement.idl: Ditto.
  • html/HTMLLinkElement.idl: Ditto.
  • html/HTMLMediaElement.idl: Ditto.
  • html/HTMLObjectElement.idl: Ditto.
  • html/HTMLScriptElement.idl: Ditto.
  • html/HTMLVideoElement.idl: Ditto.

2010-07-10 Darin Adler <Darin Adler>

Reviewed by Anders Carlsson.

Enhance content attribute reflection for URL attributes, including adding a non-empty option
https://bugs.webkit.org/show_bug.cgi?id=42040

The current test results show many failures, and we should follow up with fixes
either to the DOM implementation, or to the test result expectations.

  • fast/dom/URL-attribute-reflection-expected.txt: Added.
  • fast/dom/URL-attribute-reflection.html: Added.
  • fast/dom/script-tests/URL-attribute-reflection.js: Added.
Location:
trunk
Files:
3 added
27 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r63051 r63057  
     12010-07-10  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        Enhance content attribute reflection for URL attributes, including adding a non-empty option
     6        https://bugs.webkit.org/show_bug.cgi?id=42040
     7
     8        The current test results show many failures, and we should follow up with fixes
     9        either to the DOM implementation, or to the test result expectations.
     10
     11        * fast/dom/URL-attribute-reflection-expected.txt: Added.
     12        * fast/dom/URL-attribute-reflection.html: Added.
     13        * fast/dom/script-tests/URL-attribute-reflection.js: Added.
     14
    1152010-07-10  Sam Weinig  <sam@webkit.org>
    216
  • trunk/WebCore/ChangeLog

    r63054 r63057  
     12010-07-10  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        Enhance content attribute reflection for URL attributes, including adding a non-empty option
     6        https://bugs.webkit.org/show_bug.cgi?id=42040
     7
     8        Test: fast/dom/URL-attribute-reflection.html
     9
     10        Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
     11        a new option, NonEmpty, which implements the non-empty URL concept from the
     12        HTML5 specification.
     13
     14        * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
     15        extended attributes to come in separately. The URL one simply means "the string
     16        of this attribute is a URL", since we don't have a distinct type for URL. Also
     17        added a new NonEmpty extended attribute.
     18
     19        * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
     20        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
     21
     22        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
     23        and the fix I made to the reflectedCustomURLAttr test.
     24        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
     25        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
     26        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
     27        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
     28        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
     29        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
     30        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
     31        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
     32        bindig writes out the keywords into the generated file as comments, so the keyword
     33        change had a direct efffect on the output file.
     34
     35        * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
     36        the new syntax. Added test cases for NonEmpty. Fixed the name of
     37        reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
     38        instead; never noticed because we never compile the test output.
     39
     40        * dom/Element.cpp:
     41        (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
     42        by any code that wants to implement the non-empty URL content attribute semantic.
     43        * dom/Element.h: Ditto.
     44
     45        * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
     46        * html/HTMLAreaElement.idl: Ditto.
     47        * html/HTMLFrameElement.idl: Ditto.
     48        * html/HTMLImageElement.idl: Ditto.
     49        * html/HTMLInputElement.idl: Ditto.
     50        * html/HTMLLinkElement.idl: Ditto.
     51        * html/HTMLMediaElement.idl: Ditto.
     52        * html/HTMLObjectElement.idl: Ditto.
     53        * html/HTMLScriptElement.idl: Ditto.
     54        * html/HTMLVideoElement.idl: Ditto.
     55
    1562010-07-10  Tony Gentilcore  <tonyg@chromium.org>
    257
  • trunk/WebCore/bindings/scripts/CodeGenerator.pm

    r62549 r63057  
    44# Copyright (C) 2005 Nikolas Zimmermann <wildfox@kde.org>
    55# Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
    6 # Copyright (C) 2007 Apple Inc. All rights reserved.
     6# Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
    77# Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au>
    88#
     
    403403    my ($generator, $implIncludes, $interfaceName, $attribute) = @_;
    404404
    405     my $contentAttributeName = $attribute->signature->extendedAttributes->{"Reflect"}
    406         || $attribute->signature->extendedAttributes->{"ReflectURL"};
     405    my $contentAttributeName = $attribute->signature->extendedAttributes->{"Reflect"};
    407406    return undef if !$contentAttributeName;
    408407
     
    426425
    427426    my $functionName;
    428     if ($attribute->signature->extendedAttributes->{"ReflectURL"}) {
    429         $functionName = "getURLAttribute";
     427    if ($attribute->signature->extendedAttributes->{"URL"}) {
     428        if ($attribute->signature->extendedAttributes->{"NonEmpty"}) {
     429            $functionName = "getNonEmptyURLAttribute";
     430        } else {
     431            $functionName = "getURLAttribute";
     432        }
    430433    } elsif ($attribute->signature->type eq "boolean") {
    431434        $functionName = "hasAttribute";
  • trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r62577 r63057  
    23232323
    23242324    if ($type eq "DOMString") {
    2325         return "valueToStringWithNullCheck(exec, $value)" if $signature->extendedAttributes->{"ConvertNullToNullString"} || $signature->extendedAttributes->{"Reflect"} || $signature->extendedAttributes->{"ReflectURL"};
     2325        return "valueToStringWithNullCheck(exec, $value)" if $signature->extendedAttributes->{"ConvertNullToNullString"} || $signature->extendedAttributes->{"Reflect"};
    23262326        return "valueToStringWithUndefinedOrNullCheck(exec, $value)" if $signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"};
    23272327        return "ustringToString($value.toString(exec))";
  • trunk/WebCore/bindings/scripts/CodeGeneratorV8.pm

    r62452 r63057  
    864864        my $attrType = GetTypeFromSignature($attribute->signature);
    865865        my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
    866         my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
    867         if (($reflect || $reflectURL) && IsNodeSubType($dataNode) && $codeGenerator->IsStringType($attrType)) {
     866        if ($reflect && IsNodeSubType($dataNode) && $codeGenerator->IsStringType($attrType)) {
    868867            # Generate super-compact call for regular attribute setter:
    869             my $contentAttributeName = ($reflect || $reflectURL) eq "1" ? lc $attrName : ($reflect || $reflectURL);
     868            my $contentAttributeName = $reflect eq "1" ? lc $attrName : $reflect;
    870869            my $namespace = $codeGenerator->NamespaceForAttributeName($interfaceName, $contentAttributeName);
    871870            $implIncludes{"${namespace}.h"} = 1;
     
    26792678        if ($signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"}) {
    26802679            $mode = "WithUndefinedOrNullCheck";
    2681         } elsif ($signature->extendedAttributes->{"ConvertNullToNullString"} || $signature->extendedAttributes->{"Reflect"} || $signature->extendedAttributes->{"ReflectURL"}) {
     2680        } elsif ($signature->extendedAttributes->{"ConvertNullToNullString"} || $signature->extendedAttributes->{"Reflect"}) {
    26822681            $mode = "WithNullCheck";
    26832682        }
  • trunk/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.cpp

    r62452 r63057  
    241241}
    242242
     243WebDOMString WebDOMTestObj::reflectedNonEmptyURLAttr() const
     244{
     245    if (!impl())
     246        return WebDOMString();
     247
     248    return static_cast<const WebCore::String&>(impl()->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr));
     249}
     250
     251void WebDOMTestObj::setReflectedNonEmptyURLAttr(const WebDOMString& newReflectedNonEmptyURLAttr)
     252{
     253    if (!impl())
     254        return;
     255
     256    impl()->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, newReflectedNonEmptyURLAttr);
     257}
     258
    243259WebDOMString WebDOMTestObj::reflectedStringAttr() const
    244260{
     
    289305}
    290306
    291 WebDOMString WebDOMTestObj::reflectedURLAttr() const
     307WebDOMString WebDOMTestObj::reflectedCustomURLAttr() const
    292308{
    293309    if (!impl())
     
    297313}
    298314
    299 void WebDOMTestObj::setReflectedURLAttr(const WebDOMString& newReflectedURLAttr)
    300 {
    301     if (!impl())
    302         return;
    303 
    304     impl()->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, newReflectedURLAttr);
     315void WebDOMTestObj::setReflectedCustomURLAttr(const WebDOMString& newReflectedCustomURLAttr)
     316{
     317    if (!impl())
     318        return;
     319
     320    impl()->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, newReflectedCustomURLAttr);
     321}
     322
     323WebDOMString WebDOMTestObj::reflectedCustomNonEmptyURLAttr() const
     324{
     325    if (!impl())
     326        return WebDOMString();
     327
     328    return static_cast<const WebCore::String&>(impl()->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr));
     329}
     330
     331void WebDOMTestObj::setReflectedCustomNonEmptyURLAttr(const WebDOMString& newReflectedCustomNonEmptyURLAttr)
     332{
     333    if (!impl())
     334        return;
     335
     336    impl()->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, newReflectedCustomNonEmptyURLAttr);
    305337}
    306338
  • trunk/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.h

    r62452 r63057  
    6464    WebDOMString reflectedURLAttr() const;
    6565    void setReflectedURLAttr(const WebDOMString&);
     66    WebDOMString reflectedNonEmptyURLAttr() const;
     67    void setReflectedNonEmptyURLAttr(const WebDOMString&);
    6668    WebDOMString reflectedStringAttr() const;
    6769    void setReflectedStringAttr(const WebDOMString&);
     
    7072    bool reflectedCustomBooleanAttr() const;
    7173    void setReflectedCustomBooleanAttr(bool);
    72     WebDOMString reflectedURLAttr() const;
    73     void setReflectedURLAttr(const WebDOMString&);
     74    WebDOMString reflectedCustomURLAttr() const;
     75    void setReflectedCustomURLAttr(const WebDOMString&);
     76    WebDOMString reflectedCustomNonEmptyURLAttr() const;
     77    void setReflectedCustomNonEmptyURLAttr(const WebDOMString&);
    7478    int attrWithGetterException() const;
    7579    void setAttrWithGetterException(int);
  • trunk/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp

    r62452 r63057  
    181181webkit_dom_test_obj_idb_key(WebKitDOMTestObj* self, WebKitDOMIDBKey*  key)
    182182{
     183    WebCore::JSMainThreadNullState state;
    183184    g_return_if_fail(self);
    184185    WebCore::TestObj * item = WebKit::core(self);
     
    556557
    557558gchar*
     559webkit_dom_test_obj_get_reflected_non_empty_url_attr(WebKitDOMTestObj* self)
     560{
     561    WebCore::JSMainThreadNullState state;
     562    g_return_val_if_fail(self, 0);
     563    WebCore::TestObj * item = WebKit::core(self);
     564    gchar*  res = convertToUTF8String(item->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr));
     565    return res;
     566}
     567
     568void
     569webkit_dom_test_obj_set_reflected_non_empty_url_attr(WebKitDOMTestObj* self, gchar*  value)
     570{
     571    WebCore::JSMainThreadNullState state;
     572    g_return_if_fail(self);
     573    WebCore::TestObj * item = WebKit::core(self);
     574    g_return_if_fail(value);
     575    WebCore::String converted_value = WebCore::String::fromUTF8(value);
     576    item->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, converted_value);
     577}
     578
     579gchar*
    558580webkit_dom_test_obj_get_reflected_string_attr(WebKitDOMTestObj* self)
    559581{
     
    615637
    616638gchar*
    617 webkit_dom_test_obj_get_reflected_url_attr(WebKitDOMTestObj* self)
     639webkit_dom_test_obj_get_reflected_custom_url_attr(WebKitDOMTestObj* self)
    618640{
    619641    WebCore::JSMainThreadNullState state;
     
    625647
    626648void
    627 webkit_dom_test_obj_set_reflected_url_attr(WebKitDOMTestObj* self, gchar*  value)
     649webkit_dom_test_obj_set_reflected_custom_url_attr(WebKitDOMTestObj* self, gchar*  value)
    628650{
    629651    WebCore::JSMainThreadNullState state;
     
    633655    WebCore::String converted_value = WebCore::String::fromUTF8(value);
    634656    item->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, converted_value);
     657}
     658
     659gchar*
     660webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr(WebKitDOMTestObj* self)
     661{
     662    WebCore::JSMainThreadNullState state;
     663    g_return_val_if_fail(self, 0);
     664    WebCore::TestObj * item = WebKit::core(self);
     665    gchar*  res = convertToUTF8String(item->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr));
     666    return res;
     667}
     668
     669void
     670webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr(WebKitDOMTestObj* self, gchar*  value)
     671{
     672    WebCore::JSMainThreadNullState state;
     673    g_return_if_fail(self);
     674    WebCore::TestObj * item = WebKit::core(self);
     675    g_return_if_fail(value);
     676    WebCore::String converted_value = WebCore::String::fromUTF8(value);
     677    item->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, converted_value);
    635678}
    636679
     
    894937    PROP_REFLECTED_BOOLEAN_ATTR,
    895938    PROP_REFLECTED_URL_ATTR,
     939    PROP_REFLECTED_NON_EMPTY_URL_ATTR,
    896940    PROP_REFLECTED_STRING_ATTR,
    897941    PROP_REFLECTED_CUSTOM_INTEGRAL_ATTR,
    898942    PROP_REFLECTED_CUSTOM_BOOLEAN_ATTR,
    899     PROP_REFLECTED_URL_ATTR,
     943    PROP_REFLECTED_CUSTOM_URL_ATTR,
     944    PROP_REFLECTED_CUSTOM_NON_EMPTY_URL_ATTR,
    900945    PROP_ATTR_WITH_GETTER_EXCEPTION,
    901946    PROP_ATTR_WITH_SETTER_EXCEPTION,
     
    9761021        break;
    9771022    }
     1023    case PROP_REFLECTED_NON_EMPTY_URL_ATTR:
     1024    {
     1025        coreSelf->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, WebCore::String::fromUTF8(g_value_get_string(value)));
     1026        break;
     1027    }
    9781028    case PROP_REFLECTED_STRING_ATTR:
    9791029    {
     
    9911041        break;
    9921042    }
    993     case PROP_REFLECTED_URL_ATTR:
     1043    case PROP_REFLECTED_CUSTOM_URL_ATTR:
    9941044    {
    9951045        coreSelf->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, WebCore::String::fromUTF8(g_value_get_string(value)));
     1046        break;
     1047    }
     1048    case PROP_REFLECTED_CUSTOM_NON_EMPTY_URL_ATTR:
     1049    {
     1050        coreSelf->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, WebCore::String::fromUTF8(g_value_get_string(value)));
    9961051        break;
    9971052    }
     
    11211176        break;
    11221177    }
     1178    case PROP_REFLECTED_NON_EMPTY_URL_ATTR:
     1179    {
     1180        g_value_take_string(value, convertToUTF8String(coreSelf->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr)));
     1181        break;
     1182    }
    11231183    case PROP_REFLECTED_STRING_ATTR:
    11241184    {
     
    11361196        break;
    11371197    }
    1138     case PROP_REFLECTED_URL_ATTR:
     1198    case PROP_REFLECTED_CUSTOM_URL_ATTR:
    11391199    {
    11401200        g_value_take_string(value, convertToUTF8String(coreSelf->getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr)));
     1201        break;
     1202    }
     1203    case PROP_REFLECTED_CUSTOM_NON_EMPTY_URL_ATTR:
     1204    {
     1205        g_value_take_string(value, convertToUTF8String(coreSelf->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr)));
    11411206        break;
    11421207    }
     
    13211386                                                           WEBKIT_PARAM_READWRITE));
    13221387    g_object_class_install_property(gobjectClass,
     1388                                    PROP_REFLECTED_NON_EMPTY_URL_ATTR,
     1389                                    g_param_spec_string("reflected-non-empty-url-attr", /* name */
     1390                                                           "test_obj_reflected-non-empty-url-attr", /* short description */
     1391                                                           "read-write  gchar*  TestObj.reflected-non-empty-url-attr", /* longer - could do with some extra doc stuff here */
     1392                                                           "", /* default */
     1393                                                           WEBKIT_PARAM_READWRITE));
     1394    g_object_class_install_property(gobjectClass,
    13231395                                    PROP_REFLECTED_STRING_ATTR,
    13241396                                    g_param_spec_string("reflected-string-attr", /* name */
     
    13441416                                                           WEBKIT_PARAM_READWRITE));
    13451417    g_object_class_install_property(gobjectClass,
    1346                                     PROP_REFLECTED_URL_ATTR,
    1347                                     g_param_spec_string("reflected-url-attr", /* name */
    1348                                                            "test_obj_reflected-url-attr", /* short description */
    1349                                                            "read-write  gchar*  TestObj.reflected-url-attr", /* longer - could do with some extra doc stuff here */
     1418                                    PROP_REFLECTED_CUSTOM_URL_ATTR,
     1419                                    g_param_spec_string("reflected-custom-url-attr", /* name */
     1420                                                           "test_obj_reflected-custom-url-attr", /* short description */
     1421                                                           "read-write  gchar*  TestObj.reflected-custom-url-attr", /* longer - could do with some extra doc stuff here */
     1422                                                           "", /* default */
     1423                                                           WEBKIT_PARAM_READWRITE));
     1424    g_object_class_install_property(gobjectClass,
     1425                                    PROP_REFLECTED_CUSTOM_NON_EMPTY_URL_ATTR,
     1426                                    g_param_spec_string("reflected-custom-non-empty-url-attr", /* name */
     1427                                                           "test_obj_reflected-custom-non-empty-url-attr", /* short description */
     1428                                                           "read-write  gchar*  TestObj.reflected-custom-non-empty-url-attr", /* longer - could do with some extra doc stuff here */
    13501429                                                           "", /* default */
    13511430                                                           WEBKIT_PARAM_READWRITE));
  • trunk/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.h

    r62452 r63057  
    189189
    190190WEBKIT_API gchar*
     191webkit_dom_test_obj_get_reflected_non_empty_url_attr(WebKitDOMTestObj* self);
     192
     193WEBKIT_API void
     194webkit_dom_test_obj_set_reflected_non_empty_url_attr(WebKitDOMTestObj* self, gchar*  value);
     195
     196WEBKIT_API gchar*
    191197webkit_dom_test_obj_get_reflected_string_attr(WebKitDOMTestObj* self);
    192198
     
    207213
    208214WEBKIT_API gchar*
    209 webkit_dom_test_obj_get_reflected_url_attr(WebKitDOMTestObj* self);
    210 
    211 WEBKIT_API void
    212 webkit_dom_test_obj_set_reflected_url_attr(WebKitDOMTestObj* self, gchar*  value);
     215webkit_dom_test_obj_get_reflected_custom_url_attr(WebKitDOMTestObj* self);
     216
     217WEBKIT_API void
     218webkit_dom_test_obj_set_reflected_custom_url_attr(WebKitDOMTestObj* self, gchar*  value);
     219
     220WEBKIT_API gchar*
     221webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr(WebKitDOMTestObj* self);
     222
     223WEBKIT_API void
     224webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr(WebKitDOMTestObj* self, gchar*  value);
    213225
    214226WEBKIT_API glong
  • trunk/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

    r62452 r63057  
    5050#endif
    5151
    52 static const HashTableValue JSTestObjTableValues[30] =
     52static const HashTableValue JSTestObjTableValues[32] =
    5353{
    5454    { "readOnlyIntAttr", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReadOnlyIntAttr), (intptr_t)0 THUNK_GENERATOR(0) },
     
    6464    { "reflectedBooleanAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedBooleanAttr), (intptr_t)setJSTestObjReflectedBooleanAttr THUNK_GENERATOR(0) },
    6565    { "reflectedURLAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedURLAttr), (intptr_t)setJSTestObjReflectedURLAttr THUNK_GENERATOR(0) },
     66    { "reflectedNonEmptyURLAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedNonEmptyURLAttr), (intptr_t)setJSTestObjReflectedNonEmptyURLAttr THUNK_GENERATOR(0) },
    6667    { "reflectedStringAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedStringAttr), (intptr_t)setJSTestObjReflectedStringAttr THUNK_GENERATOR(0) },
    6768    { "reflectedCustomIntegralAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedCustomIntegralAttr), (intptr_t)setJSTestObjReflectedCustomIntegralAttr THUNK_GENERATOR(0) },
    6869    { "reflectedCustomBooleanAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedCustomBooleanAttr), (intptr_t)setJSTestObjReflectedCustomBooleanAttr THUNK_GENERATOR(0) },
    69     { "reflectedURLAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedURLAttr), (intptr_t)setJSTestObjReflectedURLAttr THUNK_GENERATOR(0) },
     70    { "reflectedCustomURLAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedCustomURLAttr), (intptr_t)setJSTestObjReflectedCustomURLAttr THUNK_GENERATOR(0) },
     71    { "reflectedCustomNonEmptyURLAttr", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReflectedCustomNonEmptyURLAttr), (intptr_t)setJSTestObjReflectedCustomNonEmptyURLAttr THUNK_GENERATOR(0) },
    7072    { "attrWithGetterException", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjAttrWithGetterException), (intptr_t)setJSTestObjAttrWithGetterException THUNK_GENERATOR(0) },
    7173    { "attrWithSetterException", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjAttrWithSetterException), (intptr_t)setJSTestObjAttrWithSetterException THUNK_GENERATOR(0) },
     
    9193
    9294#undef THUNK_GENERATOR
    93 static JSC_CONST_HASHTABLE HashTable JSTestObjTable = { 69, 63, JSTestObjTableValues, 0 };
     95static JSC_CONST_HASHTABLE HashTable JSTestObjTable = { 68, 63, JSTestObjTableValues, 0 };
    9496/* Hash table for constructor */
    9597#if ENABLE(JIT)
     
    337339}
    338340
     341JSValue jsTestObjReflectedNonEmptyURLAttr(ExecState* exec, JSValue slotBase, const Identifier&)
     342{
     343    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(slotBase));
     344    UNUSED_PARAM(exec);
     345    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
     346    JSValue result = jsString(exec, imp->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr));
     347    return result;
     348}
     349
    339350JSValue jsTestObjReflectedStringAttr(ExecState* exec, JSValue slotBase, const Identifier&)
    340351{
     
    364375}
    365376
    366 JSValue jsTestObjReflectedURLAttr(ExecState* exec, JSValue slotBase, const Identifier&)
     377JSValue jsTestObjReflectedCustomURLAttr(ExecState* exec, JSValue slotBase, const Identifier&)
    367378{
    368379    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(slotBase));
     
    370381    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
    371382    JSValue result = jsString(exec, imp->getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
     383    return result;
     384}
     385
     386JSValue jsTestObjReflectedCustomNonEmptyURLAttr(ExecState* exec, JSValue slotBase, const Identifier&)
     387{
     388    JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(slotBase));
     389    UNUSED_PARAM(exec);
     390    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
     391    JSValue result = jsString(exec, imp->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr));
    372392    return result;
    373393}
     
    559579}
    560580
     581void setJSTestObjReflectedNonEmptyURLAttr(ExecState* exec, JSObject* thisObject, JSValue value)
     582{
     583    JSTestObj* castedThis = static_cast<JSTestObj*>(thisObject);
     584    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
     585    imp->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, valueToStringWithNullCheck(exec, value));
     586}
     587
    561588void setJSTestObjReflectedStringAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    562589{
     
    580607}
    581608
    582 void setJSTestObjReflectedURLAttr(ExecState* exec, JSObject* thisObject, JSValue value)
     609void setJSTestObjReflectedCustomURLAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    583610{
    584611    JSTestObj* castedThis = static_cast<JSTestObj*>(thisObject);
    585612    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
    586613    imp->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, valueToStringWithNullCheck(exec, value));
     614}
     615
     616void setJSTestObjReflectedCustomNonEmptyURLAttr(ExecState* exec, JSObject* thisObject, JSValue value)
     617{
     618    JSTestObj* castedThis = static_cast<JSTestObj*>(thisObject);
     619    TestObj* imp = static_cast<TestObj*>(castedThis->impl());
     620    imp->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, valueToStringWithNullCheck(exec, value));
    587621}
    588622
  • trunk/WebCore/bindings/scripts/test/JS/JSTestObj.h

    r62452 r63057  
    140140JSC::JSValue jsTestObjReflectedURLAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
    141141void setJSTestObjReflectedURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     142JSC::JSValue jsTestObjReflectedNonEmptyURLAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
     143void setJSTestObjReflectedNonEmptyURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
    142144JSC::JSValue jsTestObjReflectedStringAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
    143145void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     
    146148JSC::JSValue jsTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
    147149void setJSTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
    148 JSC::JSValue jsTestObjReflectedURLAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
    149 void setJSTestObjReflectedURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     150JSC::JSValue jsTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
     151void setJSTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     152JSC::JSValue jsTestObjReflectedCustomNonEmptyURLAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
     153void setJSTestObjReflectedCustomNonEmptyURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
    150154JSC::JSValue jsTestObjAttrWithGetterException(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
    151155void setJSTestObjAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
  • trunk/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h

    r62452 r63057  
    5757- (NSString *)reflectedURLAttr;
    5858- (void)setReflectedURLAttr:(NSString *)newReflectedURLAttr;
     59- (NSString *)reflectedNonEmptyURLAttr;
     60- (void)setReflectedNonEmptyURLAttr:(NSString *)newReflectedNonEmptyURLAttr;
    5961- (NSString *)reflectedStringAttr;
    6062- (void)setReflectedStringAttr:(NSString *)newReflectedStringAttr;
     
    6365- (BOOL)reflectedCustomBooleanAttr;
    6466- (void)setReflectedCustomBooleanAttr:(BOOL)newReflectedCustomBooleanAttr;
    65 - (NSString *)reflectedURLAttr;
    66 - (void)setReflectedURLAttr:(NSString *)newReflectedURLAttr;
     67- (NSString *)reflectedCustomURLAttr;
     68- (void)setReflectedCustomURLAttr:(NSString *)newReflectedCustomURLAttr;
     69- (NSString *)reflectedCustomNonEmptyURLAttr;
     70- (void)setReflectedCustomNonEmptyURLAttr:(NSString *)newReflectedCustomNonEmptyURLAttr;
    6771- (int)attrWithGetterException;
    6872- (void)setAttrWithGetterException:(int)newAttrWithGetterException;
  • trunk/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm

    r62452 r63057  
    203203}
    204204
     205- (NSString *)reflectedNonEmptyURLAttr
     206{
     207    WebCore::JSMainThreadNullState state;
     208    return IMPL->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr);
     209}
     210
     211- (void)setReflectedNonEmptyURLAttr:(NSString *)newReflectedNonEmptyURLAttr
     212{
     213    WebCore::JSMainThreadNullState state;
     214    IMPL->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, newReflectedNonEmptyURLAttr);
     215}
     216
    205217- (NSString *)reflectedStringAttr
    206218{
     
    239251}
    240252
    241 - (NSString *)reflectedURLAttr
     253- (NSString *)reflectedCustomURLAttr
    242254{
    243255    WebCore::JSMainThreadNullState state;
     
    245257}
    246258
    247 - (void)setReflectedURLAttr:(NSString *)newReflectedURLAttr
    248 {
    249     WebCore::JSMainThreadNullState state;
    250     IMPL->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, newReflectedURLAttr);
     259- (void)setReflectedCustomURLAttr:(NSString *)newReflectedCustomURLAttr
     260{
     261    WebCore::JSMainThreadNullState state;
     262    IMPL->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, newReflectedCustomURLAttr);
     263}
     264
     265- (NSString *)reflectedCustomNonEmptyURLAttr
     266{
     267    WebCore::JSMainThreadNullState state;
     268    return IMPL->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr);
     269}
     270
     271- (void)setReflectedCustomNonEmptyURLAttr:(NSString *)newReflectedCustomNonEmptyURLAttr
     272{
     273    WebCore::JSMainThreadNullState state;
     274    IMPL->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, newReflectedCustomNonEmptyURLAttr);
    251275}
    252276
  • trunk/WebCore/bindings/scripts/test/TestObj.idl

    r62452 r63057  
    11/*
    22 * Copyright (C) 2009 Google Inc. All rights reserved.
     3 * Copyright (C) 2010 Apple Inc. All rights reserved.
    34 *
    45 * Redistribution and use in source and binary formstrArg, with or without
     
    4546        attribute [Reflect] long reflectedIntegralAttr;
    4647        attribute [Reflect] boolean reflectedBooleanAttr;
    47         attribute [ReflectURL] DOMString reflectedURLAttr;
     48        attribute [Reflect,URL] DOMString reflectedURLAttr;
     49        attribute [Reflect,NonEmpty,URL] DOMString reflectedNonEmptyURLAttr;
    4850        attribute [Reflect=customContentStringAttr] DOMString reflectedStringAttr;
    4951        attribute [Reflect=customContentIntegralAttr] long reflectedCustomIntegralAttr;
    5052        attribute [Reflect=customContentBooleanAttr] boolean reflectedCustomBooleanAttr;
    51         attribute [ReflectURL=customContentURLAttr] DOMString reflectedURLAttr;
     53        attribute [Reflect=customContentURLAttr,URL] DOMString reflectedCustomURLAttr;
     54        attribute [Reflect=customContentNonEmptyURLAttr,NonEmpty,URL] DOMString reflectedCustomNonEmptyURLAttr;
    5255
    5356        // Methods
  • trunk/WebCore/bindings/scripts/test/V8/V8TestObj.cpp

    r62452 r63057  
    219219}
    220220
     221static v8::Handle<v8::Value> reflectedNonEmptyURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
     222{
     223    INC_STATS("DOM.TestObj.reflectedNonEmptyURLAttr._get");
     224    TestObj* imp = V8TestObj::toNative(info.Holder());
     225    return v8String(imp->getNonEmptyURLAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr));
     226}
     227
     228static void reflectedNonEmptyURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
     229{
     230    INC_STATS("DOM.TestObj.reflectedNonEmptyURLAttr._set");
     231    TestObj* imp = V8TestObj::toNative(info.Holder());
     232    V8Parameter<WithNullCheck> v = value;
     233    imp->setAttribute(WebCore::HTMLNames::reflectednonemptyurlattrAttr, v);
     234    return;
     235}
     236
    221237static v8::Handle<v8::Value> reflectedStringAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
    222238{
     
    267283}
    268284
    269 static v8::Handle<v8::Value> reflectedURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
    270 {
    271     INC_STATS("DOM.TestObj.reflectedURLAttr._get");
     285static v8::Handle<v8::Value> reflectedCustomURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
     286{
     287    INC_STATS("DOM.TestObj.reflectedCustomURLAttr._get");
    272288    TestObj* imp = V8TestObj::toNative(info.Holder());
    273289    return v8String(imp->getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
    274290}
    275291
    276 static void reflectedURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
    277 {
    278     INC_STATS("DOM.TestObj.reflectedURLAttr._set");
     292static void reflectedCustomURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
     293{
     294    INC_STATS("DOM.TestObj.reflectedCustomURLAttr._set");
    279295    TestObj* imp = V8TestObj::toNative(info.Holder());
    280296    V8Parameter<WithNullCheck> v = value;
    281297    imp->setAttribute(WebCore::HTMLNames::customContentURLAttrAttr, v);
     298    return;
     299}
     300
     301static v8::Handle<v8::Value> reflectedCustomNonEmptyURLAttrAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
     302{
     303    INC_STATS("DOM.TestObj.reflectedCustomNonEmptyURLAttr._get");
     304    TestObj* imp = V8TestObj::toNative(info.Holder());
     305    return v8String(imp->getNonEmptyURLAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr));
     306}
     307
     308static void reflectedCustomNonEmptyURLAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
     309{
     310    INC_STATS("DOM.TestObj.reflectedCustomNonEmptyURLAttr._set");
     311    TestObj* imp = V8TestObj::toNative(info.Holder());
     312    V8Parameter<WithNullCheck> v = value;
     313    imp->setAttribute(WebCore::HTMLNames::customContentNonEmptyURLAttrAttr, v);
    282314    return;
    283315}
     
    913945    // Attribute 'reflectedBooleanAttr' (Type: 'attribute' ExtAttr: 'Reflect')
    914946    {"reflectedBooleanAttr", TestObjInternal::reflectedBooleanAttrAttrGetter, TestObjInternal::reflectedBooleanAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
    915     // Attribute 'reflectedURLAttr' (Type: 'attribute' ExtAttr: 'ReflectURL')
     947    // Attribute 'reflectedURLAttr' (Type: 'attribute' ExtAttr: 'URL Reflect')
    916948    {"reflectedURLAttr", TestObjInternal::reflectedURLAttrAttrGetter, TestObjInternal::reflectedURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
     949    // Attribute 'reflectedNonEmptyURLAttr' (Type: 'attribute' ExtAttr: 'URL NonEmpty Reflect')
     950    {"reflectedNonEmptyURLAttr", TestObjInternal::reflectedNonEmptyURLAttrAttrGetter, TestObjInternal::reflectedNonEmptyURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
    917951    // Attribute 'reflectedStringAttr' (Type: 'attribute' ExtAttr: 'Reflect')
    918952    {"reflectedStringAttr", TestObjInternal::reflectedStringAttrAttrGetter, TestObjInternal::reflectedStringAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
     
    921955    // Attribute 'reflectedCustomBooleanAttr' (Type: 'attribute' ExtAttr: 'Reflect')
    922956    {"reflectedCustomBooleanAttr", TestObjInternal::reflectedCustomBooleanAttrAttrGetter, TestObjInternal::reflectedCustomBooleanAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
    923     // Attribute 'reflectedURLAttr' (Type: 'attribute' ExtAttr: 'ReflectURL')
    924     {"reflectedURLAttr", TestObjInternal::reflectedURLAttrAttrGetter, TestObjInternal::reflectedURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
     957    // Attribute 'reflectedCustomURLAttr' (Type: 'attribute' ExtAttr: 'URL Reflect')
     958    {"reflectedCustomURLAttr", TestObjInternal::reflectedCustomURLAttrAttrGetter, TestObjInternal::reflectedCustomURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
     959    // Attribute 'reflectedCustomNonEmptyURLAttr' (Type: 'attribute' ExtAttr: 'URL NonEmpty Reflect')
     960    {"reflectedCustomNonEmptyURLAttr", TestObjInternal::reflectedCustomNonEmptyURLAttrAttrGetter, TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
    925961    // Attribute 'attrWithGetterException' (Type: 'attribute' ExtAttr: '')
    926962    {"attrWithGetterException", TestObjInternal::attrWithGetterExceptionAttrGetter, TestObjInternal::attrWithGetterExceptionAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
  • trunk/WebCore/dom/Element.cpp

    r62596 r63057  
    15351535}
    15361536
     1537KURL Element::getNonEmptyURLAttribute(const QualifiedName& name) const
     1538{
     1539#if !ASSERT_DISABLED
     1540    if (m_attributeMap) {
     1541        if (Attribute* attribute = m_attributeMap->getAttributeItem(name))
     1542            ASSERT(isURLAttribute(attribute));
     1543    }
     1544#endif
     1545    String value = deprecatedParseURL(getAttribute(name));
     1546    if (value.isEmpty())
     1547        return KURL();
     1548    return document()->completeURL(value);
     1549}
     1550
    15371551int Element::getIntegralAttribute(const QualifiedName& attributeName) const
    15381552{
  • trunk/WebCore/dom/Element.h

    r62596 r63057  
    222222
    223223    virtual bool isURLAttribute(Attribute*) const;
     224
    224225    KURL getURLAttribute(const QualifiedName&) const;
     226    KURL getNonEmptyURLAttribute(const QualifiedName&) const;
     227
    225228    virtual const QualifiedName& imageSourceAttributeName() const;
    226229    virtual String target() const { return String(); }
  • trunk/WebCore/html/HTMLAnchorElement.idl

    r61413 r63057  
    2525        attribute [Reflect] DOMString charset;
    2626        attribute [Reflect] DOMString coords;
    27         attribute [ReflectURL] DOMString href;
     27        attribute [Reflect,URL] DOMString href;
    2828        attribute [Reflect] DOMString hreflang;
    2929        attribute [Reflect] DOMString name;
  • trunk/WebCore/html/HTMLAreaElement.idl

    r61413 r63057  
    2525        attribute [Reflect] DOMString alt;
    2626        attribute [Reflect] DOMString coords;
    27         attribute [ReflectURL] DOMString href;
     27        attribute [Reflect,URL] DOMString href;
    2828        attribute [Reflect] boolean noHref;
    2929        attribute [Reflect] DOMString shape;
  • trunk/WebCore/html/HTMLFrameElement.idl

    r62466 r63057  
    3030        attribute [Reflect] boolean noResize;
    3131        attribute [Reflect] DOMString scrolling;
    32         attribute [ReflectURL] DOMString src;
     32        attribute [Reflect,URL] DOMString src;
    3333
    3434        // Introduced in DOM Level 2:
  • trunk/WebCore/html/HTMLImageElement.idl

    r61413 r63057  
    3131        attribute [Reflect] long hspace;
    3232        attribute [Reflect] boolean isMap;
    33         attribute [ReflectURL=longdesc] DOMString longDesc;
    34         attribute [ReflectURL] DOMString src;
     33        attribute [Reflect,URL] DOMString longDesc;
     34        attribute [Reflect,URL] DOMString src;
    3535        attribute [Reflect] DOMString useMap;
    3636        attribute [Reflect] long vspace;
     
    3939        // Extensions
    4040        readonly attribute boolean complete;
    41         attribute [ReflectURL] DOMString lowsrc;
     41        attribute [Reflect,URL] DOMString lowsrc;
    4242        readonly attribute long naturalHeight;
    4343        readonly attribute long naturalWidth;
  • trunk/WebCore/html/HTMLInputElement.idl

    r61413 r63057  
    5252        attribute unsigned long size; // Changed string -> long as part of DOM level 2
    5353#endif
    54         attribute [ReflectURL] DOMString src;
     54        attribute [Reflect,URL] DOMString src;
    5555        attribute [Reflect] DOMString step;
    5656        attribute [ConvertNullToNullString, JSCCustomGetter] DOMString type; // readonly dropped as part of DOM level 2
  • trunk/WebCore/html/HTMLLinkElement.idl

    r61413 r63057  
    2424        attribute [Reflect] boolean disabled;
    2525        attribute [Reflect] DOMString charset;
    26         attribute [ReflectURL] DOMString href;
     26        attribute [Reflect,URL] DOMString href;
    2727        attribute [Reflect] DOMString hreflang;
    2828        attribute [Reflect] DOMString media;
  • trunk/WebCore/html/HTMLMediaElement.idl

    r61413 r63057  
    3131
    3232    // network state
    33     attribute [ReflectURL] DOMString src;
     33    attribute [Reflect,URL] DOMString src;
    3434    readonly attribute DOMString currentSrc;
    3535   
  • trunk/WebCore/html/HTMLObjectElement.idl

    r61413 r63057  
    3333        attribute [Reflect] DOMString codeBase;
    3434        attribute [Reflect] DOMString codeType;
    35         attribute [ReflectURL] DOMString data;
     35        attribute [Reflect,URL] DOMString data;
    3636        attribute [Reflect] boolean declare;
    3737        attribute [Reflect] DOMString height;
  • trunk/WebCore/html/HTMLScriptElement.idl

    r61518 r63057  
    2727        attribute [Reflect] boolean async;
    2828        attribute [Reflect] boolean defer;
    29         attribute [ReflectURL] DOMString src;
     29        attribute [Reflect,URL] DOMString src;
    3030        attribute [Reflect] DOMString type;
    3131    };
  • trunk/WebCore/html/HTMLVideoElement.idl

    r61413 r63057  
    3333        readonly attribute unsigned long videoWidth;
    3434        readonly attribute unsigned long videoHeight;
    35         attribute [ReflectURL] DOMString poster;
     35        attribute [Reflect,URL] DOMString poster;
    3636
    3737        readonly attribute boolean webkitSupportsFullscreen;
Note: See TracChangeset for help on using the changeset viewer.