CSS Namespaces Implementation Report

Introduction

This report was prepared to document the passing of the Candidate Recommendation exit criteria for the 23 May 2008 CSS Namespaces specification.

Implementations

Four browser implementations and one standalone CSS parser were tested:

  1. Firefox 3.6.3 for Mac OS X 10.6.3 by Mozilla Corporation
  2. Safari 4.0.5 (build 6531.22.7, 533+) for Mac OS X 10.6.3 by Apple Inc.
  3. Opera 10.51 for Windows XP SP3 by Opera Software ASA
  4. Google Chrome for Mac OS X 10.6.3 by Google
  5. JSCSSP by Daniel Glazman

Tests

The 10 February 2009 revision of the CSS Namespaces Module test suite was used.

Results

The Candidate Recommendation exit criteria are not met at this time since the results show that we don't have two implementations passing all tests in the Test Suite.

  1. Results for Firefox 3.6.3
  2. Results for Safari 4.0.5
  3. Results for Opera 10.51
  4. Results for Chrome 5.0.342.9
  5. Results for JSCCP
Syntax Firefox 3.6.3 Safari 4.0.5 Opera 10.51 Chrome 5.0.342.9 JSCSSP 20100507
@namespace case-insensitivity pass pass pass pass pass
duplicate @namespace declarations pass pass pass pass N/A
@namespace syntax with escapes pass pass pass pass pass
string comparison (no URI resolving) pass pass fail pass N/A
@namespace default namespace syntax pass pass pass pass N/A
whitespace and comment handling pass pass pass pass pass
@namespace url() with escape pass pass pass pass pass
@namespace error handling pass fail pass fail pass
@namespace string and url() syntax pass pass pass pass pass
@namespace and invalid at-rules pass pass pass pass pass
invalid ordering of @namespace and @import pass pass pass fail pass
invalid URI pass pass pass pass pass
@namespace and @charset pass pass pass pass pass
escapes in prefix pass pass pass pass pass
escaped vertical bar in qualified name pass pass pass pass pass
Scope
scope <style> pass pass pass pass N/A
scope @import pass pass pass pass N/A
Declaring Prefixes
prefix case-sensitivity pass pass pass pass N/A
empty string prefix (Explicit element namespace) pass pass fail pass N/A
empty string prefix (Implied element namespace) pass pass fail pass N/A
empty string default namespace pass pass pass pass N/A
no default namespace pass pass pass pass N/A
no prefix pass pass pass pass N/A

Daniel Glazman, 10 May 2010