Bug 1455805. Make CSS a namespace, not interface. r=heycam
authorBoris Zbarsky <bzbarsky@mit.edu>
Mon, 23 Apr 2018 12:36:10 -0400
changeset 468649 4a076254dccf0b9edbc194515554664672815175
parent 468648 7719f1bf977a0205694e7d9b5a872ec25b9d9f51
child 468650 cb7f6ce7dff5ecf1a5ae4186a86736a4afaf7b0d
push id9165
push userasasaki@mozilla.com
push dateThu, 26 Apr 2018 21:04:54 +0000
treeherdermozilla-beta@064c3804de2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersheycam
bugs1455805
milestone61.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1455805. Make CSS a namespace, not interface. r=heycam MozReview-Commit-ID: LTYBNyGm1JS
dom/bindings/Bindings.conf
dom/webidl/CSS.webidl
testing/web-platform/meta/css/cssom/interfaces.html.ini
--- a/dom/bindings/Bindings.conf
+++ b/dom/bindings/Bindings.conf
@@ -162,20 +162,16 @@ DOMInterfaces = {
 'Coordinates': {
     'headerFile': 'nsGeoPosition.h'
 },
 
 'Crypto' : {
     'headerFile': 'Crypto.h'
 },
 
-'CSS': {
-    'concrete': False,
-},
-
 'CSS2Properties': {
     'nativeType': 'nsDOMCSSDeclaration'
 },
 
 'CSSConditionRule': {
     'concrete': False,
     'nativeType': 'mozilla::css::ConditionRule',
     'headerFile': 'mozilla/css/GroupRule.h',
--- a/dom/webidl/CSS.webidl
+++ b/dom/webidl/CSS.webidl
@@ -1,24 +1,25 @@
 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/.
  *
  * The origin of this IDL file is
  * http://dev.w3.org/csswg/css3-conditional/
+ * http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
  *
  * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
  * liability, trademark and document use rules apply.
  */
 
-interface CSS {
+namespace CSS {
   [Throws]
-  static boolean supports(DOMString property, DOMString value);
+  boolean supports(DOMString property, DOMString value);
 
   [Throws]
-  static boolean supports(DOMString conditionText);
+  boolean supports(DOMString conditionText);
 };
 
 // http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
-partial interface CSS {
-  static DOMString escape(DOMString ident);
+partial namespace CSS {
+  DOMString escape(DOMString ident);
 };
--- a/testing/web-platform/meta/css/cssom/interfaces.html.ini
+++ b/testing/web-platform/meta/css/cssom/interfaces.html.ini
@@ -306,8 +306,11 @@
     expected: FAIL
 
   [CSSStyleDeclaration interface: calling setPropertyPriority(CSSOMString, CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError]
     expected: FAIL
 
   [CSS interface: operation escape(CSSOMString)]
     expected: FAIL
 
+  [CSS interface: existence and properties of interface object]
+    expected: FAIL
+    bug: https://github.com/w3c/web-platform-tests/issues/7583