Bug 116708 - Global constructors exposed in worker environment have wrong attributes
Summary: Global constructors exposed in worker environment have wrong attributes
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL: http://dev.w3.org/2006/webapi/WebIDL/...
Keywords: WebExposed
Depends on:
Blocks: 116660
  Show dependency treegraph
 
Reported: 2013-05-24 00:57 PDT by Chris Dumez
Modified: 2013-05-24 18:14 PDT (History)
11 users (show)

See Also:


Attachments
Patch (54.04 KB, patch)
2013-05-24 03:31 PDT, Chris Dumez
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2 (488.39 KB, application/zip)
2013-05-24 14:46 PDT, Build Bot
no flags Details
Patch (44.76 KB, patch)
2013-05-24 15:33 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2013-05-24 00:57:56 PDT
Similar to fast/js/global-constructors-attributes.html but for workers.

I would like to add support for generating WorkerContext global constructors in the bindings generator and having such test would help make sure I do not alter the webexposed behavior by doing so.
Comment 1 Chris Dumez 2013-05-24 03:31:27 PDT
Created attachment 202798 [details]
Patch

Using ews to get mac results.
Comment 2 Build Bot 2013-05-24 14:46:53 PDT
Comment on attachment 202798 [details]
Patch

Attachment 202798 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/725008

New failing tests:
fast/js/global-constructors-attributes-worker.html
Comment 3 Build Bot 2013-05-24 14:46:56 PDT
Created attachment 202852 [details]
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-10  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.3
Comment 4 Chris Dumez 2013-05-24 15:33:02 PDT
Created attachment 202856 [details]
Patch
Comment 5 Geoffrey Garen 2013-05-24 15:48:39 PDT
Comment on attachment 202856 [details]
Patch

r=me
Comment 6 WebKit Commit Bot 2013-05-24 16:15:30 PDT
Comment on attachment 202856 [details]
Patch

Clearing flags on attachment: 202856

Committed r150664: <http://trac.webkit.org/changeset/150664>
Comment 7 WebKit Commit Bot 2013-05-24 16:15:34 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 Ryosuke Niwa 2013-05-24 17:35:07 PDT
This patch caused binding tests to fail:
http://build.webkit.org/builders/Apple%20MountainLion%20Release%20WK1%20%28Tests%29/builds/10301

FAIL: (JS) JSTestObj.cpp
--- WebCore/bindings/scripts/test/JS/JSTestObj.cpp	2013-05-11 12:30:58.000000000 -0700
+++ /var/folders/81/qcmw8mp11lvdf69qgyzyl2000000gn/T/tmpDCtYGw/JSTestObj.cpp	2013-05-24 17:08:43.000000000 -0700
@@ -122,13 +122,13 @@
     { "conditionalAttr3", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr3), (intptr_t)setJSTestObjConditionalAttr3, NoIntrinsic },
 #endif
 #if ENABLE(Condition1)
-    { "conditionalAttr4", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr4Constructor), (intptr_t)setJSTestObjConditionalAttr4Constructor, NoIntrinsic },
+    { "conditionalAttr4", DontEnum, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr4Constructor), (intptr_t)setJSTestObjConditionalAttr4Constructor, NoIntrinsic },
 #endif
 #if ENABLE(Condition1) && ENABLE(Condition2)
-    { "conditionalAttr5", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr5Constructor), (intptr_t)setJSTestObjConditionalAttr5Constructor, NoIntrinsic },
+    { "conditionalAttr5", DontEnum, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr5Constructor), (intptr_t)setJSTestObjConditionalAttr5Constructor, NoIntrinsic },
 #endif
 #if ENABLE(Condition1) || ENABLE(Condition2)
-    { "conditionalAttr6", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr6Constructor), (intptr_t)setJSTestObjConditionalAttr6Constructor, NoIntrinsic },
+    { "conditionalAttr6", DontEnum, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr6Constructor), (intptr_t)setJSTestObjConditionalAttr6Constructor, NoIntrinsic },
 #endif
     { "cachedAttribute1", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjCachedAttribute1), (intptr_t)0, NoIntrinsic },
     { "cachedAttribute2", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjCachedAttribute2), (intptr_t)0, NoIntrinsic },
Comment 9 Chris Dumez 2013-05-24 18:14:18 PDT
(In reply to comment #8)
> This patch caused binding tests to fail:
> http://build.webkit.org/builders/Apple%20MountainLion%20Release%20WK1%20%28Tests%29/builds/10301
> 
> FAIL: (JS) JSTestObj.cpp
> --- WebCore/bindings/scripts/test/JS/JSTestObj.cpp    2013-05-11 12:30:58.000000000 -0700
> +++ /var/folders/81/qcmw8mp11lvdf69qgyzyl2000000gn/T/tmpDCtYGw/JSTestObj.cpp    2013-05-24 17:08:43.000000000 -0700
> @@ -122,13 +122,13 @@
>      { "conditionalAttr3", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr3), (intptr_t)setJSTestObjConditionalAttr3, NoIntrinsic },
>  #endif
>  #if ENABLE(Condition1)
> -    { "conditionalAttr4", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr4Constructor), (intptr_t)setJSTestObjConditionalAttr4Constructor, NoIntrinsic },
> +    { "conditionalAttr4", DontEnum, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr4Constructor), (intptr_t)setJSTestObjConditionalAttr4Constructor, NoIntrinsic },
>  #endif
>  #if ENABLE(Condition1) && ENABLE(Condition2)
> -    { "conditionalAttr5", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr5Constructor), (intptr_t)setJSTestObjConditionalAttr5Constructor, NoIntrinsic },
> +    { "conditionalAttr5", DontEnum, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr5Constructor), (intptr_t)setJSTestObjConditionalAttr5Constructor, NoIntrinsic },
>  #endif
>  #if ENABLE(Condition1) || ENABLE(Condition2)
> -    { "conditionalAttr6", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr6Constructor), (intptr_t)setJSTestObjConditionalAttr6Constructor, NoIntrinsic },
> +    { "conditionalAttr6", DontEnum, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConditionalAttr6Constructor), (intptr_t)setJSTestObjConditionalAttr6Constructor, NoIntrinsic },
>  #endif
>      { "cachedAttribute1", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjCachedAttribute1), (intptr_t)0, NoIntrinsic },
>      { "cachedAttribute2", DontDelete | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjCachedAttribute2), (intptr_t)0, NoIntrinsic },

Sorry, I failed to rebaseline those. I didn't realize Constructor attributes were covered.