Bug 115852

Summary: [NoInterfaceObject] extended attribute should be removed for several interfaces
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: BindingsAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, arv, benjamin, buildbot, commit-queue, esprehn+autocc, gyuyoung.kim, haraken, laszlo.gombos, mjs, mkwst, rakuco, rniwa
Priority: P2 Keywords: WebExposed
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-03 for mac-mountainlion
none
Patch none

Description Chris Dumez 2013-05-09 02:18:43 PDT
The following interfaces have the [NoInterfaceObject] extended attribute:
SecurityPolicy, History, Location, Navigator, Performance, PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceNavigation, PerformanceResourceTiming, PerformanceTiming and Screen.

This means that there is no corresponding property on the global Window object with the same name.

However, this is incorrect according to their respective specifications:
- http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-history-interface
- http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-location-interface
- https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicy
- http://www.w3.org/html/wg/drafts/html/master/webappapis.html#the-navigator-object
- http://www.w3.org/TR/navigation-timing/#performance
- https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html#sec-PerformanceEntry-interface
- http://www.w3.org/TR/navigation-timing/#performancenavigation
- http://www.w3.org/TR/navigation-timing/#performancetiming
- http://www.w3.org/TR/user-timing/#performancemark
- http://www.w3.org/TR/user-timing/#performancemeasure
- http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming
- http://dev.w3.org/csswg/cssom-view/#the-screen-interface

We should remove [NoInterfaceObject] from these interfaces to match the specs.

I confirmed the following behavior for Firefox:
All of them are exposed except SecurityPolicy, PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceResourceTiming. The ones that are not exposed are unimplemented.

Corresponding Blink patch:
https://codereview.chromium.org/14672011/
Comment 1 Chris Dumez 2013-05-09 06:55:14 PDT
Created attachment 201188 [details]
Patch
Comment 2 Build Bot 2013-05-09 08:14:12 PDT
Comment on attachment 201188 [details]
Patch

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

New failing tests:
fast/js/global-constructors-attributes.html
Comment 3 Build Bot 2013-05-09 08:14:17 PDT
Created attachment 201238 [details]
Archive of layout-test-results from webkit-ews-03 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-03  Port: mac-mountainlion  Platform: Mac OS X 10.8.2
Comment 4 Chris Dumez 2013-05-09 08:20:44 PDT
Created attachment 201239 [details]
Patch
Comment 5 WebKit Commit Bot 2013-05-09 14:46:56 PDT
Comment on attachment 201239 [details]
Patch

Clearing flags on attachment: 201239

Committed r149845: <http://trac.webkit.org/changeset/149845>
Comment 6 WebKit Commit Bot 2013-05-09 14:47:01 PDT
All reviewed patches have been landed.  Closing bug.