| Index: sdk/lib/html/dartium/html_dartium.dart
 | 
| diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
 | 
| index 35282600d3117eb04a4d7658a595e20a74fee142..34f3ca73c089c84913c303e689a150949e86eb7f 100644
 | 
| --- a/sdk/lib/html/dartium/html_dartium.dart
 | 
| +++ b/sdk/lib/html/dartium/html_dartium.dart
 | 
| @@ -7405,7 +7405,7 @@ class DomMimeTypeArray extends NativeFieldWrapperClass1 implements List<DomMimeT
 | 
|  
 | 
|    void forEach(void f(DomMimeType element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(DomMimeType element)) =>
 | 
| @@ -7694,7 +7694,7 @@ class DomPluginArray extends NativeFieldWrapperClass1 implements List<DomPlugin>
 | 
|  
 | 
|    void forEach(void f(DomPlugin element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(DomPlugin element)) =>
 | 
| @@ -8062,7 +8062,7 @@ class DomStringList extends NativeFieldWrapperClass1 implements List<String> {
 | 
|  
 | 
|    void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(String element)) =>
 | 
| @@ -8364,7 +8364,7 @@ class _ChildrenElementList extends ListBase<Element> {
 | 
|      return false;
 | 
|    }
 | 
|  
 | 
| -  String join([String separator]) {
 | 
| +  String join([String separator = ""]) {
 | 
|      return _childElements.join(separator);
 | 
|    }
 | 
|  
 | 
| @@ -10770,7 +10770,7 @@ class FileList extends NativeFieldWrapperClass1 implements List<File> {
 | 
|  
 | 
|    void forEach(void f(File element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(File element)) =>
 | 
| @@ -11297,7 +11297,7 @@ class Float32Array extends ArrayBufferView implements List<double> {
 | 
|  
 | 
|    void forEach(void f(num element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(num element)) =>
 | 
| @@ -11553,7 +11553,7 @@ class Float64Array extends ArrayBufferView implements List<double> {
 | 
|  
 | 
|    void forEach(void f(num element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(num element)) =>
 | 
| @@ -12258,7 +12258,7 @@ class HtmlAllCollection extends NativeFieldWrapperClass1 implements List<Node> {
 | 
|  
 | 
|    void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Node element)) =>
 | 
| @@ -12488,7 +12488,7 @@ class HtmlCollection extends NativeFieldWrapperClass1 implements List<Node> {
 | 
|  
 | 
|    void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Node element)) =>
 | 
| @@ -14866,7 +14866,7 @@ class Int16Array extends ArrayBufferView implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -15122,7 +15122,7 @@ class Int32Array extends ArrayBufferView implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -15378,7 +15378,7 @@ class Int8Array extends ArrayBufferView implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -18704,7 +18704,7 @@ class NodeList extends NativeFieldWrapperClass1 implements List<Node> {
 | 
|  
 | 
|    void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Node element)) =>
 | 
| @@ -21291,7 +21291,7 @@ class SourceBufferList extends EventTarget implements List<SourceBuffer> {
 | 
|  
 | 
|    void forEach(void f(SourceBuffer element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(SourceBuffer element)) =>
 | 
| @@ -21630,7 +21630,7 @@ class SpeechGrammarList extends NativeFieldWrapperClass1 implements List<SpeechG
 | 
|  
 | 
|    void forEach(void f(SpeechGrammar element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(SpeechGrammar element)) =>
 | 
| @@ -23384,7 +23384,7 @@ class TextTrackCueList extends NativeFieldWrapperClass1 implements List<TextTrac
 | 
|  
 | 
|    void forEach(void f(TextTrackCue element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(TextTrackCue element)) =>
 | 
| @@ -23614,7 +23614,7 @@ class TextTrackList extends EventTarget implements List<TextTrack> {
 | 
|  
 | 
|    void forEach(void f(TextTrack element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(TextTrack element)) =>
 | 
| @@ -24061,7 +24061,7 @@ class TouchList extends NativeFieldWrapperClass1 implements List<Touch> {
 | 
|  
 | 
|    void forEach(void f(Touch element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Touch element)) =>
 | 
| @@ -24591,7 +24591,7 @@ class Uint16Array extends ArrayBufferView implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -24847,7 +24847,7 @@ class Uint32Array extends ArrayBufferView implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -25103,7 +25103,7 @@ class Uint8Array extends ArrayBufferView implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -25357,7 +25357,7 @@ class Uint8ClampedArray extends Uint8Array implements List<int> {
 | 
|  
 | 
|    void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(int element)) =>
 | 
| @@ -27476,7 +27476,7 @@ class _ClientRectList extends NativeFieldWrapperClass1 implements List<Rect> {
 | 
|  
 | 
|    void forEach(void f(Rect element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Rect element)) =>
 | 
| @@ -27711,7 +27711,7 @@ class _CssRuleList extends NativeFieldWrapperClass1 implements List<CssRule> {
 | 
|  
 | 
|    void forEach(void f(CssRule element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(CssRule element)) =>
 | 
| @@ -27933,7 +27933,7 @@ class _CssValueList extends _CSSValue implements List<_CSSValue> {
 | 
|  
 | 
|    void forEach(void f(_CSSValue element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(_CSSValue element)) =>
 | 
| @@ -28391,7 +28391,7 @@ class _EntryArray extends NativeFieldWrapperClass1 implements List<Entry> {
 | 
|  
 | 
|    void forEach(void f(Entry element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Entry element)) =>
 | 
| @@ -28613,7 +28613,7 @@ class _EntryArraySync extends NativeFieldWrapperClass1 implements List<_EntrySyn
 | 
|  
 | 
|    void forEach(void f(_EntrySync element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(_EntrySync element)) =>
 | 
| @@ -28896,7 +28896,7 @@ class _GamepadList extends NativeFieldWrapperClass1 implements List<Gamepad> {
 | 
|  
 | 
|    void forEach(void f(Gamepad element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Gamepad element)) =>
 | 
| @@ -29209,7 +29209,7 @@ class _NamedNodeMap extends NativeFieldWrapperClass1 implements List<Node> {
 | 
|  
 | 
|    void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(Node element)) =>
 | 
| @@ -29516,7 +29516,7 @@ class _SpeechInputResultList extends NativeFieldWrapperClass1 implements List<Sp
 | 
|  
 | 
|    void forEach(void f(SpeechInputResult element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(SpeechInputResult element)) =>
 | 
| @@ -29738,7 +29738,7 @@ class _SpeechRecognitionResultList extends NativeFieldWrapperClass1 implements L
 | 
|  
 | 
|    void forEach(void f(SpeechRecognitionResult element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(SpeechRecognitionResult element)) =>
 | 
| @@ -29960,7 +29960,7 @@ class _StyleSheetList extends NativeFieldWrapperClass1 implements List<StyleShee
 | 
|  
 | 
|    void forEach(void f(StyleSheet element)) => IterableMixinWorkaround.forEach(this, f);
 | 
|  
 | 
| -  String join([String separator]) =>
 | 
| +  String join([String separator = ""]) =>
 | 
|        IterableMixinWorkaround.joinList(this, separator);
 | 
|  
 | 
|    Iterable map(f(StyleSheet element)) =>
 | 
| @@ -30690,7 +30690,7 @@ abstract class CssClassSet implements Set<String> {
 | 
|      readClasses().forEach(f);
 | 
|    }
 | 
|  
 | 
| -  String join([String separator]) => readClasses().join(separator);
 | 
| +  String join([String separator = ""]) => readClasses().join(separator);
 | 
|  
 | 
|    Iterable map(f(String element)) => readClasses().map(f);
 | 
|  
 | 
| @@ -32614,7 +32614,7 @@ class _WrappedList<E> implements List<E> {
 | 
|  
 | 
|    bool every(bool f(E element)) => _list.every(f);
 | 
|  
 | 
| -  String join([String separator]) => _list.join(separator);
 | 
| +  String join([String separator = ""]) => _list.join(separator);
 | 
|  
 | 
|    bool any(bool f(E element)) => _list.any(f);
 | 
|  
 | 
| 
 |