Version 1.4.0-dev.6.3

svn merge -c 35873 https://dart.googlecode.com/svn/branches/bleeding_edge trunk
svn merge -c 35919 https://dart.googlecode.com/svn/branches/bleeding_edge trunk
svn merge -c 35944 https://dart.googlecode.com/svn/branches/bleeding_edge trunk

git-svn-id: http://dart.googlecode.com/svn/trunk@35960 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/runtime/bin/vmservice/server.dart b/runtime/bin/vmservice/server.dart
index d622e62..051ea43 100644
--- a/runtime/bin/vmservice/server.dart
+++ b/runtime/bin/vmservice/server.dart
@@ -127,7 +127,7 @@
       _server = s;
       _server.listen(_requestHandler);
       if (display_message) {
-        print('VMService listening on $ip:$port');
+        print('Observatory listening on http://$ip:$port');
       }
       return s;
     });
diff --git a/runtime/vm/message_handler.cc b/runtime/vm/message_handler.cc
index 32756b8..b1064a2 100644
--- a/runtime/vm/message_handler.cc
+++ b/runtime/vm/message_handler.cc
@@ -9,7 +9,7 @@
 namespace dart {
 
 DECLARE_FLAG(bool, trace_isolates);
-
+DECLARE_FLAG(bool, trace_service_pause_events);
 
 class MessageHandlerTask : public ThreadPool::Task {
  public:
@@ -231,6 +231,10 @@
 
     if (!ok || !HasLivePorts()) {
       if (pause_on_exit()) {
+        if (FLAG_trace_service_pause_events && !paused_on_exit_) {
+          OS::PrintErr("Isolate %s paused before exiting. "
+                       "Use the Observatory to release it.\n", name());
+        }
         paused_on_exit_ = true;
       } else {
         if (FLAG_trace_isolates) {
diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
index eef5f05..5b3f778 100644
--- a/runtime/vm/service.cc
+++ b/runtime/vm/service.cc
@@ -32,6 +32,8 @@
 namespace dart {
 
 DEFINE_FLAG(bool, trace_service, false, "Trace VM service requests.");
+DEFINE_FLAG(bool, trace_service_pause_events, false,
+            "Trace VM service isolate pause events.");
 DECLARE_FLAG(bool, enable_type_checks);
 DECLARE_FLAG(bool, enable_asserts);
 
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index fbbdd1a..e44393d 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -6309,7 +6309,7 @@
 
 @DocsEditable()
 @DomName('Clipboard')
-class DataTransfer extends Interceptor native "Clipboard" {
+class DataTransfer extends Interceptor native "Clipboard,DataTransfer" {
   // To suppress missing implicit constructor warnings.
   factory DataTransfer._() { throw new UnsupportedError("Not supported"); }
 
diff --git a/tests/standalone/vmservice/test_helper.dart b/tests/standalone/vmservice/test_helper.dart
index d7c580e..fde93e0 100644
--- a/tests/standalone/vmservice/test_helper.dart
+++ b/tests/standalone/vmservice/test_helper.dart
@@ -140,7 +140,7 @@
       var first = true;
       process.stdout.transform(UTF8.decoder)
                     .transform(new LineSplitter()).listen((line) {
-        if (line.startsWith('VMService listening on ')) {
+        if (line.startsWith('Observatory listening on http://')) {
           RegExp portExp = new RegExp(r"\d+.\d+.\d+.\d+:(\d+)");
           var port = portExp.firstMatch(line).group(1);
           portNumber = int.parse(port);
diff --git a/tools/VERSION b/tools/VERSION
index 6374033..f5bb2b3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 4
 PATCH 0
 PRERELEASE 6
-PRERELEASE_PATCH 2
+PRERELEASE_PATCH 3
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 50a3199..e5b4190 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -118,6 +118,8 @@
         #                    IE                   Firefox
         'CSSStyleDeclaration,MSStyleCSSProperties,CSS2Properties',
 
+    'Clipboard': 'Clipboard,DataTransfer',
+
     'ApplicationCache':
         'ApplicationCache,DOMApplicationCache,OfflineResourceList',
 
@@ -422,7 +424,7 @@
         optional parameters
       named is a boolean which is true if the optional parameters should
         be named
-      A parameter declaration is a tuple (dec, var) where var is the 
+      A parameter declaration is a tuple (dec, var) where var is the
         variable name, and dec is a string suitable for declaring the
         variable in a parameter list.  That is, dec + var is a valid
         parameter declaration.
@@ -445,12 +447,12 @@
 
   def ParametersAsDecStringList(self, rename_type, force_optional=False):
     """Returns a list of strings where each string corresponds to a parameter
-    declaration.  All of the optional/named parameters if any will appear as 
+    declaration.  All of the optional/named parameters if any will appear as
     a single entry at the end of the list.
     """
     (required, optional, needs_named) = \
         self.ParametersAsDecVarLists(rename_type, force_optional)
-    def FormatParam(dec): 
+    def FormatParam(dec):
         return dec[0] + dec[1]
     argtexts = map(FormatParam, required)
     if optional: