diff --git a/bindings/IDLExtendedAttributes.txt b/bindings/IDLExtendedAttributes.txt
index 044d188..f823705 100644
--- a/bindings/IDLExtendedAttributes.txt
+++ b/bindings/IDLExtendedAttributes.txt
@@ -61,7 +61,7 @@
 # TODO(terry): Used in dart.idl (look at eliminating).
 DartForceOptional
 # TODO(terry): Used in dart.idl (look at eliminating).
-DartCallback
+Callback
 # TODO(terry): Used in dart.idl (look at eliminating).
 DartStrictTypeChecking
 # End of Dartium attributes.
diff --git a/bindings/README b/bindings/README
index e77b8dc..ab789b5 100644
--- a/bindings/README
+++ b/bindings/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/blink/branches/dart/dartium
-Current revision: 181477
+Current revision: 181675
diff --git a/bindings/dart/scripts/dart_attributes.py b/bindings/dart/scripts/dart_attributes.py
index 24c9fa3..7536f20 100644
--- a/bindings/dart/scripts/dart_attributes.py
+++ b/bindings/dart/scripts/dart_attributes.py
@@ -74,10 +74,10 @@
     is_setter_raises_exception = (
         'RaisesException' in extended_attributes and
         extended_attributes['RaisesException'] in [None, 'Setter'])
-    # [StrictTypeChecking]
+    # [DartStrictTypeChecking]
     has_strict_type_checking = (
-        ('StrictTypeChecking' in extended_attributes or
-         'StrictTypeChecking' in interface.extended_attributes) and
+        ('DartStrictTypeChecking' in extended_attributes or
+         'DartStrictTypeChecking' in interface.extended_attributes) and
         idl_type.is_wrapper_type)
 
     if (base_idl_type == 'EventHandler' and
diff --git a/bindings/dart/scripts/dart_interface.py b/bindings/dart/scripts/dart_interface.py
index efd70f0..6904c6d 100644
--- a/bindings/dart/scripts/dart_interface.py
+++ b/bindings/dart/scripts/dart_interface.py
@@ -371,8 +371,8 @@
 
 
 # To suppress an IDL method or attribute with a particular Extended Attribute
-# w/o a value e.g, StrictTypeChecking would be an empty set
-#   'StrictTypeChecking': frozenset([]),
+# w/o a value e.g, DartStrictTypeChecking would be an empty set
+#   'DartStrictTypeChecking': frozenset([]),
 IGNORE_EXTENDED_ATTRIBUTES = {
 #    'RuntimeEnabled': frozenset(['ExperimentalCanvasFeatures']),
 }
@@ -861,7 +861,7 @@
     idl_type = argument['idl_type_object']
     # FIXME(vsm): We need Dart specific checks for the rest of this method.
     # FIXME: proper type checking, sharing code with attributes and methods
-    # FIXME(terry): StrictTypeChecking no longer supported; TypeChecking is
+    # FIXME(terry): DartStrictTypeChecking no longer supported; TypeChecking is
     #               new extended attribute.
     if idl_type.name == 'String' and argument['is_strict_type_checking']:
         return ' || '.join(['isUndefinedOrNull(%s)' % cpp_value,
@@ -1099,7 +1099,7 @@
     is_raises_exception = 'RaisesException' in extended_attributes
     return {
         'has_strict_type_checking':
-            'StrictTypeChecking' in extended_attributes and
+            'DartStrictTypeChecking' in extended_attributes and
             idl_type.is_wrapper_type,
         'idl_type': idl_type.base_type,
         'is_custom': 'Custom' in extended_attributes,
diff --git a/bindings/dart/scripts/dart_methods.py b/bindings/dart/scripts/dart_methods.py
index aac8f5e..03d64a5 100644
--- a/bindings/dart/scripts/dart_methods.py
+++ b/bindings/dart/scripts/dart_methods.py
@@ -140,11 +140,11 @@
         'is_raises_exception': is_raises_exception,
         'is_read_only': 'ReadOnly' in extended_attributes,
         'is_static': is_static,
-        # FIXME(terry): StrictTypeChecking no longer supported; TypeChecking is
+        # FIXME(terry): DartStrictTypeChecking no longer supported; TypeChecking is
         #               new extended attribute.
         'is_strict_type_checking':
-            'StrictTypeChecking' in extended_attributes or
-            'StrictTypeChecking' in interface.extended_attributes,
+            'DartStrictTypeChecking' in extended_attributes or
+            'DartStrictTypeChecking' in interface.extended_attributes,
         'is_variadic': arguments and arguments[-1].is_variadic,
         'measure_as': DartUtilities.measure_as(method),  # [MeasureAs]
         'name': name,
@@ -204,7 +204,7 @@
         'is_nullable': idl_type.is_nullable,
         # Only expose as optional if no default value.
         'is_optional': argument.is_optional and not (this_has_default or argument.default_value),
-        'is_strict_type_checking': 'StrictTypeChecking' in extended_attributes,
+        'is_strict_type_checking': 'DartStrictTypeChecking' in extended_attributes,
         'is_variadic_wrapper_type': is_variadic_wrapper_type,
         'vector_type': 'WillBeHeapVector' if use_heap_vector_type else 'Vector',
         'is_wrapper_type': idl_type.is_wrapper_type,
diff --git a/bindings/dart/scripts/dart_utilities.py b/bindings/dart/scripts/dart_utilities.py
index 38e3899..9966323 100644
--- a/bindings/dart/scripts/dart_utilities.py
+++ b/bindings/dart/scripts/dart_utilities.py
@@ -154,11 +154,10 @@
             blink_entry = tag
         else:
             blink_entry = "_%s_%d_Callback" % (name, index)
-    native_entry = "%s_%s" % (interface_name, tag)
+    components = [interface_name, tag]
     if types is not None:
-        count = len(types)
-        types = "_".join(types)
-        native_entry = "%s_RESOLVER_STRING_%d_%s" % (native_entry, count, types)
+        components.extend(types)
+    native_entry = "_".join(components)
     if not is_static and kind != 'Constructor':
         args.insert(0, "mthis")
     return {'blink_entry': "$" + blink_entry,
diff --git a/core/README b/core/README
index e77b8dc..ab789b5 100644
--- a/core/README
+++ b/core/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/blink/branches/dart/dartium
-Current revision: 181477
+Current revision: 181675
diff --git a/modules/README b/modules/README
index e77b8dc..ab789b5 100644
--- a/modules/README
+++ b/modules/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/blink/branches/dart/dartium
-Current revision: 181477
+Current revision: 181675
