Replace the now missing ContextAttributes with our previously Firefox-only _TypedContextAttributes

BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1727003002 .
diff --git a/sdk/lib/html/html_common/conversions.dart b/sdk/lib/html/html_common/conversions.dart
index 9adc5d6..de0d423 100644
--- a/sdk/lib/html/html_common/conversions.dart
+++ b/sdk/lib/html/html_common/conversions.dart
@@ -266,7 +266,7 @@
 // Conversions for ContextAttributes.
 //
 // On Firefox, the returned ContextAttributes is a plain object.
-class _TypedContextAttributes {
+class ContextAttributes {
   bool alpha;
   bool antialias;
   bool depth;
@@ -275,7 +275,7 @@
   bool stencil;
   bool failIfMajorPerformanceCaveat;
 
-  _TypedContextAttributes(this.alpha, this.antialias, this.depth,
+  ContextAttributes(this.alpha, this.antialias, this.depth,
       this.failIfMajorPerformanceCaveat, this.premultipliedAlpha,
       this.preserveDrawingBuffer, this.stencil);
 }
@@ -284,7 +284,7 @@
   // On Firefox the above test fails because ContextAttributes is a plain
   // object so we create a _TypedContextAttributes.
 
-  return new _TypedContextAttributes(
+  return new ContextAttributes(
       JS('var', '#.alpha', nativeContextAttributes),
       JS('var', '#.antialias', nativeContextAttributes),
       JS('var', '#.depth', nativeContextAttributes),
diff --git a/tools/dom/scripts/dartmetadata.py b/tools/dom/scripts/dartmetadata.py
index 3e16cf7..b90a2b3 100644
--- a/tools/dom/scripts/dartmetadata.py
+++ b/tools/dom/scripts/dartmetadata.py
@@ -371,7 +371,7 @@
     ],
 
     'WebGLRenderingContext.getContextAttributes': [
-      "@Creates('ContextAttributes|=Object')",
+      "@Creates('ContextAttributes|Null')",
     ],
 
     'XMLHttpRequest.response': [