diff --git a/DEPS b/DEPS
index 952c04ab..407780c 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': 'dc72ab69bd8e972cbbc797e7edeb01936da9ec14',
+  'v8_revision': '749daeaba307ba87f63f603228f73a12733ab07c',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
diff --git a/base/memory/shared_memory_tracker.cc b/base/memory/shared_memory_tracker.cc
index cb0bdcb..ad97519 100644
--- a/base/memory/shared_memory_tracker.cc
+++ b/base/memory/shared_memory_tracker.cc
@@ -12,6 +12,14 @@
 
 namespace base {
 
+namespace {
+
+std::string GetDumpNameForTracing(const UnguessableToken& id) {
+  return "shared_memory/" + id.ToString();
+}
+
+}  // namespace
+
 // static
 SharedMemoryTracker* SharedMemoryTracker::GetInstance() {
   static SharedMemoryTracker* instance = new SharedMemoryTracker;
@@ -19,14 +27,16 @@
 }
 
 // static
-std::string SharedMemoryTracker::GetDumpNameForTracing(
+trace_event::MemoryAllocatorDumpGuid SharedMemoryTracker::GetDumpIdForTracing(
     const UnguessableToken& id) {
-  return "shared_memory/" + id.ToString();
+  std::string dump_name = GetDumpNameForTracing(id);
+  return trace_event::MemoryAllocatorDump::GetDumpIdFromName(
+      std::move(dump_name));
 }
 
 // static
 trace_event::MemoryAllocatorDumpGuid
-SharedMemoryTracker::GetGlobalDumpGUIDForTracing(const UnguessableToken& id) {
+SharedMemoryTracker::GetGlobalDumpIdForTracing(const UnguessableToken& id) {
   std::string dump_name = GetDumpNameForTracing(id);
   return trace_event::MemoryAllocatorDumpGuid(dump_name);
 }
@@ -71,11 +81,6 @@
       dump_name = GetDumpNameForTracing(memory_guid);
     }
     // Discard duplicates that might be seen in single-process mode.
-    // TODO(hajimehoshi): This logic depends on the old fact that dumps were not
-    // created nowhere but SharedMemoryTracker::OnMemoryDump. Now this is not
-    // true since ProcessMemoryDump::CreateSharedMemoryOwnershipEdge creates
-    // dumps, and the logic needs to be fixed. See the discussion at
-    // https://chromium-review.googlesource.com/c/535378.
     if (pmd->GetAllocatorDump(dump_name))
       continue;
     trace_event::MemoryAllocatorDump* local_dump =
@@ -84,7 +89,7 @@
     // Fix this to record resident size.
     local_dump->AddScalar(trace_event::MemoryAllocatorDump::kNameSize,
                           trace_event::MemoryAllocatorDump::kUnitsBytes, size);
-    auto global_dump_guid = GetGlobalDumpGUIDForTracing(memory_guid);
+    auto global_dump_guid = GetGlobalDumpIdForTracing(memory_guid);
     trace_event::MemoryAllocatorDump* global_dump =
         pmd->CreateSharedGlobalAllocatorDump(global_dump_guid);
     global_dump->AddScalar(trace_event::MemoryAllocatorDump::kNameSize,
diff --git a/base/memory/shared_memory_tracker.h b/base/memory/shared_memory_tracker.h
index 3f8ba5f2..434a5802 100644
--- a/base/memory/shared_memory_tracker.h
+++ b/base/memory/shared_memory_tracker.h
@@ -24,9 +24,10 @@
   // Returns a singleton instance.
   static SharedMemoryTracker* GetInstance();
 
-  static std::string GetDumpNameForTracing(const UnguessableToken& id);
+  static trace_event::MemoryAllocatorDumpGuid GetDumpIdForTracing(
+      const UnguessableToken& id);
 
-  static trace_event::MemoryAllocatorDumpGuid GetGlobalDumpGUIDForTracing(
+  static trace_event::MemoryAllocatorDumpGuid GetGlobalDumpIdForTracing(
       const UnguessableToken& id);
 
   // Records shared memory usage on mapping.
diff --git a/base/trace_event/memory_allocator_dump.cc b/base/trace_event/memory_allocator_dump.cc
index 2692521c..73fbbaff 100644
--- a/base/trace_event/memory_allocator_dump.cc
+++ b/base/trace_event/memory_allocator_dump.cc
@@ -22,6 +22,13 @@
 const char MemoryAllocatorDump::kUnitsBytes[] = "bytes";
 const char MemoryAllocatorDump::kUnitsObjects[] = "objects";
 
+// static
+MemoryAllocatorDumpGuid MemoryAllocatorDump::GetDumpIdFromName(
+    const std::string& absolute_name) {
+  return MemoryAllocatorDumpGuid(StringPrintf(
+      "%d:%s", TraceLog::GetInstance()->process_id(), absolute_name.c_str()));
+}
+
 MemoryAllocatorDump::MemoryAllocatorDump(const std::string& absolute_name,
                                          ProcessMemoryDump* process_memory_dump,
                                          const MemoryAllocatorDumpGuid& guid)
@@ -47,10 +54,7 @@
                                          ProcessMemoryDump* process_memory_dump)
     : MemoryAllocatorDump(absolute_name,
                           process_memory_dump,
-                          MemoryAllocatorDumpGuid(StringPrintf(
-                              "%d:%s",
-                              TraceLog::GetInstance()->process_id(),
-                              absolute_name.c_str()))) {
+                          GetDumpIdFromName(absolute_name)) {
   string_conversion_buffer_.reserve(16);
 }
 
diff --git a/base/trace_event/memory_allocator_dump.h b/base/trace_event/memory_allocator_dump.h
index 99ff114..6764070 100644
--- a/base/trace_event/memory_allocator_dump.h
+++ b/base/trace_event/memory_allocator_dump.h
@@ -33,6 +33,9 @@
     WEAK = 1 << 0,
   };
 
+  static MemoryAllocatorDumpGuid GetDumpIdFromName(
+      const std::string& absolute_name);
+
   // MemoryAllocatorDump is owned by ProcessMemoryDump.
   MemoryAllocatorDump(const std::string& absolute_name,
                       ProcessMemoryDump* process_memory_dump,
diff --git a/base/trace_event/memory_allocator_dump_unittest.cc b/base/trace_event/memory_allocator_dump_unittest.cc
index d727ceb7..ea187986 100644
--- a/base/trace_event/memory_allocator_dump_unittest.cc
+++ b/base/trace_event/memory_allocator_dump_unittest.cc
@@ -117,6 +117,7 @@
   ASSERT_FALSE(guid_bar.empty());
   ASSERT_FALSE(guid_bar.ToString().empty());
   ASSERT_EQ(guid_bar, mad->guid());
+  ASSERT_EQ(guid_bar, MemoryAllocatorDump::GetDumpIdFromName("bar"));
 
   mad.reset(new MemoryAllocatorDump("bar", nullptr));
   const MemoryAllocatorDumpGuid guid_bar_2 = mad->guid();
diff --git a/base/trace_event/process_memory_dump.cc b/base/trace_event/process_memory_dump.cc
index fe29358..7f700f23 100644
--- a/base/trace_event/process_memory_dump.cc
+++ b/base/trace_event/process_memory_dump.cc
@@ -416,14 +416,13 @@
 
     // The guid of the local dump created by SharedMemoryTracker for the memory
     // segment.
-    auto local_shm_dump_name =
-        SharedMemoryTracker::GetDumpNameForTracing(shared_memory_guid);
-    auto local_shm_guid = GetOrCreateAllocatorDump(local_shm_dump_name)->guid();
+    auto local_shm_guid =
+        SharedMemoryTracker::GetDumpIdForTracing(shared_memory_guid);
 
     // The dump guid of the global dump created by the tracker for the memory
     // segment.
     auto global_shm_guid =
-        SharedMemoryTracker::GetGlobalDumpGUIDForTracing(shared_memory_guid);
+        SharedMemoryTracker::GetGlobalDumpIdForTracing(shared_memory_guid);
 
     // Create an edge between local dump of the client and the local dump of the
     // SharedMemoryTracker. Do not need to create the dumps here since the
diff --git a/base/trace_event/process_memory_dump_unittest.cc b/base/trace_event/process_memory_dump_unittest.cc
index 151fe5b..1c1f3bf 100644
--- a/base/trace_event/process_memory_dump_unittest.cc
+++ b/base/trace_event/process_memory_dump_unittest.cc
@@ -315,7 +315,7 @@
   MemoryAllocatorDumpGuid client_global_guid1(1);
   auto shm_token1 = UnguessableToken::Create();
   MemoryAllocatorDumpGuid shm_global_guid1 =
-      SharedMemoryTracker::GetGlobalDumpGUIDForTracing(shm_token1);
+      SharedMemoryTracker::GetGlobalDumpIdForTracing(shm_token1);
   pmd->AddOverridableOwnershipEdge(shm_dump1->guid(), shm_global_guid1,
                                    0 /* importance */);
 
@@ -343,12 +343,10 @@
   auto* client_dump2 = pmd->CreateAllocatorDump("discardable/segment2");
   MemoryAllocatorDumpGuid client_global_guid2(2);
   auto shm_token2 = UnguessableToken::Create();
-  auto shm_local_dump_name2 =
-      SharedMemoryTracker::GetDumpNameForTracing(shm_token2);
   MemoryAllocatorDumpGuid shm_local_guid2 =
-      pmd->GetOrCreateAllocatorDump(shm_local_dump_name2)->guid();
+      SharedMemoryTracker::GetDumpIdForTracing(shm_token2);
   MemoryAllocatorDumpGuid shm_global_guid2 =
-      SharedMemoryTracker::GetGlobalDumpGUIDForTracing(shm_token2);
+      SharedMemoryTracker::GetGlobalDumpIdForTracing(shm_token2);
   pmd->AddOverridableOwnershipEdge(shm_local_guid2, shm_global_guid2,
                                    0 /* importance */);
 
diff --git a/build/config/ios/rules.gni b/build/config/ios/rules.gni
index 6340d50..5429938 100644
--- a/build/config/ios/rules.gni
+++ b/build/config/ios/rules.gni
@@ -345,6 +345,7 @@
                              "executable_name",
                              "output_name",
                              "visibility",
+                             "testonly",
                            ])
   }
 }
@@ -1390,10 +1391,13 @@
 
   source_set(_arch_loadable_module_source) {
     forward_variables_from(invoker, [ "deps" ])
+
+    testonly = true
     visibility = [ ":$_arch_loadable_module_target" ]
   }
 
   loadable_module(_arch_loadable_module_target) {
+    testonly = true
     visibility = [ ":$_lipo_loadable_module_target($default_toolchain)" ]
     if (current_toolchain != default_toolchain) {
       visibility += [ ":$_target_name" ]
@@ -1416,6 +1420,7 @@
     # arch-specific binary, thus the default target is just a group().
     group(_target_name) {
       forward_variables_from(invoker, [ "visibility" ])
+      testonly = true
 
       public_deps = [
         ":$_arch_loadable_module_target",
@@ -1430,6 +1435,7 @@
     }
 
     ios_info_plist(_info_plist_target) {
+      testonly = true
       visibility = [ ":$_info_plist_bundle" ]
 
       info_plist = "//build/config/ios/Module-Info.plist"
@@ -1448,6 +1454,7 @@
     }
 
     bundle_data(_info_plist_bundle) {
+      testonly = true
       visibility = [ ":$_target_name" ]
 
       public_deps = [
diff --git a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.cc b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.cc
index 7ba4f61f..b31a230 100644
--- a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.cc
+++ b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader.cc
@@ -8,7 +8,7 @@
 #include <unistd.h>
 
 #include "base/files/file.h"
-#include "base/threading/sequenced_worker_pool.h"
+#include "base/task_scheduler/post_task.h"
 #include "base/threading/thread_restrictions.h"
 #include "chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_util.h"
 #include "content/public/browser/browser_thread.h"
@@ -41,10 +41,8 @@
     const GURL& arc_url,
     int64_t offset)
     : arc_url_(arc_url), offset_(offset), weak_ptr_factory_(this) {
-  auto* blocking_pool = content::BrowserThread::GetBlockingPool();
-  task_runner_ = blocking_pool->GetSequencedTaskRunnerWithShutdownBehavior(
-      blocking_pool->GetSequenceToken(),
-      base::SequencedWorkerPool::SKIP_ON_SHUTDOWN);
+  task_runner_ = base::CreateSequencedTaskRunnerWithTraits(
+      {base::MayBlock(), base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
 }
 
 ArcContentFileSystemFileStreamReader::~ArcContentFileSystemFileStreamReader() {
diff --git a/chrome/browser/installable/installable_manager.cc b/chrome/browser/installable/installable_manager.cc
index 5bfa16bb..189a4fba 100644
--- a/chrome/browser/installable/installable_manager.cc
+++ b/chrome/browser/installable/installable_manager.cc
@@ -85,7 +85,6 @@
 struct InstallableManager::ServiceWorkerProperty {
   InstallableStatusCode error = NO_ERROR_DETECTED;
   bool has_worker = false;
-  bool is_waiting = false;
   bool fetched = false;
 };
 
@@ -296,10 +295,6 @@
   return worker_->error;
 }
 
-bool InstallableManager::worker_waiting() const {
-  return worker_->is_waiting;
-}
-
 InstallableStatusCode InstallableManager::icon_error(
     const IconParams& icon_params) {
   return icons_[icon_params].error;
@@ -337,6 +332,7 @@
   // Prevent any outstanding callbacks to or from this object from being called.
   weak_factory_.InvalidateWeakPtrs();
   tasks_.clear();
+  paused_tasks_.clear();
   icons_.clear();
 
   // We may have reset prior to completion, in which case |menu_open_count_| or
@@ -548,13 +544,16 @@
       worker_->error = NOT_OFFLINE_CAPABLE;
       break;
     case content::ServiceWorkerCapability::NO_SERVICE_WORKER:
-      InstallableParams& params = tasks_[0].first;
+      Task& task = tasks_[0];
+      InstallableParams& params = task.first;
       if (params.wait_for_worker) {
         // Wait for ServiceWorkerContextObserver::OnRegistrationStored. Set the
         // param |wait_for_worker| to false so we only wait once per task.
         params.wait_for_worker = false;
-        worker_->is_waiting = true;
         OnWaitingForServiceWorker();
+        paused_tasks_.push_back(task);
+        tasks_.erase(tasks_.begin());
+        StartNextTask();
         return;
       }
       worker_->has_worker = false;
@@ -614,19 +613,27 @@
 }
 
 void InstallableManager::OnRegistrationStored(const GURL& pattern) {
-  // If we aren't currently waiting, either:
+  // If we don't have any paused tasks, that means:
   //   a) we've already failed the check, or
   //   b) we haven't yet called CheckHasServiceWorker.
   // Otherwise if the scope doesn't match we keep waiting.
-  if (!worker_->is_waiting || !content::ServiceWorkerContext::ScopeMatches(
-                                  pattern, manifest().start_url)) {
+  if (paused_tasks_.empty() || !content::ServiceWorkerContext::ScopeMatches(
+                                   pattern, manifest().start_url)) {
     return;
   }
 
-  // This will call CheckHasServiceWorker to check whether the service worker
-  // controls the start_url and if it has a fetch handler.
-  worker_->is_waiting = false;
-  WorkOnTask();
+  // Unpause the paused tasks.
+  for (const auto& task : paused_tasks_)
+    tasks_.push_back(task);
+  paused_tasks_.clear();
+
+  // Start the pipeline again if it is not running. This will call
+  // CheckHasServiceWorker to check if the SW has a fetch handler. Otherwise,
+  // adding the tasks to the end of the active queue is sufficient.
+  if (!is_active_) {
+    is_active_ = true;
+    StartNextTask();
+  }
 }
 
 void InstallableManager::DidFinishNavigation(
diff --git a/chrome/browser/installable/installable_manager.h b/chrome/browser/installable/installable_manager.h
index 1a53d37b..0a1c51c 100644
--- a/chrome/browser/installable/installable_manager.h
+++ b/chrome/browser/installable/installable_manager.h
@@ -194,7 +194,6 @@
   InstallableStatusCode valid_manifest_error() const;
   void set_valid_manifest_error(InstallableStatusCode error_code);
   InstallableStatusCode worker_error() const;
-  bool worker_waiting() const;
   InstallableStatusCode icon_error(const IconParams& icon_params);
   GURL& icon_url(const IconParams& icon_params);
   const SkBitmap* icon(const IconParams& icon);
@@ -249,6 +248,9 @@
   // The list of <params, callback> pairs that have come from a call to GetData.
   std::vector<Task> tasks_;
 
+  // Tasks which are waiting indefinitely for a service worker to be detected.
+  std::vector<Task> paused_tasks_;
+
   // Installable properties cached on this object.
   std::unique_ptr<ManifestProperty> manifest_;
   std::unique_ptr<ValidManifestProperty> valid_manifest_;
diff --git a/chrome/browser/installable/installable_manager_browsertest.cc b/chrome/browser/installable/installable_manager_browsertest.cc
index d7c9b70..f9e5bf92 100644
--- a/chrome/browser/installable/installable_manager_browsertest.cc
+++ b/chrome/browser/installable/installable_manager_browsertest.cc
@@ -708,18 +708,21 @@
   auto manager = base::MakeUnique<LazyWorkerInstallableManager>(
       web_contents, sw_run_loop.QuitClosure());
 
-  // Load a URL with no service worker.
-  GURL test_url = embedded_test_server()->GetURL(
-      "/banners/manifest_no_service_worker.html");
-  ui_test_utils::NavigateToURL(browser(), test_url);
+  {
+    // Load a URL with no service worker.
+    GURL test_url = embedded_test_server()->GetURL(
+        "/banners/manifest_no_service_worker.html");
+    ui_test_utils::NavigateToURL(browser(), test_url);
 
-  // Kick off fetching the data. This should block on waiting for a worker.
-  manager->GetData(GetWebAppParams(),
-                   base::Bind(&CallbackTester::OnDidFinishInstallableCheck,
-                              base::Unretained(tester.get())));
-  sw_run_loop.Run();
+    // Kick off fetching the data. This should block on waiting for a worker.
+    manager->GetData(GetWebAppParams(),
+                     base::Bind(&CallbackTester::OnDidFinishInstallableCheck,
+                                base::Unretained(tester.get())));
+    sw_run_loop.Run();
+  }
 
   // We should now be waiting for the service worker.
+  EXPECT_TRUE(tester->manifest().IsEmpty());
   EXPECT_FALSE(manager->manifest().IsEmpty());
   EXPECT_FALSE(manager->manifest_url().is_empty());
   EXPECT_FALSE(manager->is_installable());
@@ -730,8 +733,29 @@
   EXPECT_EQ(NO_ERROR_DETECTED, manager->valid_manifest_error());
   EXPECT_EQ(NO_ERROR_DETECTED, manager->worker_error());
   EXPECT_EQ(NO_ERROR_DETECTED, (manager->icon_error(kPrimaryIconParams)));
-  EXPECT_TRUE(manager->worker_waiting());
-  EXPECT_FALSE(manager->tasks_.empty());
+  EXPECT_TRUE(manager->tasks_.empty());
+  EXPECT_FALSE(manager->paused_tasks_.empty());
+
+  {
+    // Fetching just the manifest and icons should not hang while the other call
+    // is waiting for a worker.
+    base::RunLoop run_loop;
+    std::unique_ptr<CallbackTester> nested_tester(
+        new CallbackTester(run_loop.QuitClosure()));
+    manager->GetData(GetPrimaryIconParams(),
+                     base::Bind(&CallbackTester::OnDidFinishInstallableCheck,
+                                base::Unretained(nested_tester.get())));
+    run_loop.Run();
+
+    EXPECT_FALSE(nested_tester->manifest().IsEmpty());
+    EXPECT_FALSE(nested_tester->manifest_url().is_empty());
+    EXPECT_FALSE(nested_tester->primary_icon_url().is_empty());
+    EXPECT_NE(nullptr, nested_tester->primary_icon());
+    EXPECT_FALSE(nested_tester->is_installable());
+    EXPECT_TRUE(nested_tester->badge_icon_url().is_empty());
+    EXPECT_EQ(nullptr, nested_tester->badge_icon());
+    EXPECT_EQ(NO_ERROR_DETECTED, nested_tester->error_code());
+  }
 
   // Load the service worker.
   EXPECT_TRUE(content::ExecuteScript(
@@ -761,8 +785,8 @@
   EXPECT_EQ(NO_ERROR_DETECTED, manager->valid_manifest_error());
   EXPECT_EQ(NO_ERROR_DETECTED, manager->worker_error());
   EXPECT_EQ(NO_ERROR_DETECTED, (manager->icon_error(kPrimaryIconParams)));
-  EXPECT_FALSE(manager->worker_waiting());
   EXPECT_TRUE(manager->tasks_.empty());
+  EXPECT_TRUE(manager->paused_tasks_.empty());
 }
 
 IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
@@ -788,8 +812,8 @@
   sw_run_loop.Run();
 
   // We should now be waiting for the service worker.
-  EXPECT_TRUE(manager->worker_waiting());
-  EXPECT_FALSE(manager->tasks_.empty());
+  EXPECT_TRUE(manager->tasks_.empty());
+  EXPECT_FALSE(manager->paused_tasks_.empty());
 
   // Load the service worker with no fetch handler.
   EXPECT_TRUE(content::ExecuteScript(web_contents,
@@ -806,7 +830,6 @@
   EXPECT_TRUE(tester->badge_icon_url().is_empty());
   EXPECT_EQ(nullptr, tester->badge_icon());
   EXPECT_EQ(NOT_OFFLINE_CAPABLE, tester->error_code());
-  EXPECT_FALSE(manager->worker_waiting());
   EXPECT_EQ(manager->page_status_,
             InstallabilityCheckStatus::COMPLETE_NON_PROGRESSIVE_WEB_APP);
 }
diff --git a/chrome/browser/net/predictor.cc b/chrome/browser/net/predictor.cc
index 0f7a3d1..c1dc2d12 100644
--- a/chrome/browser/net/predictor.cc
+++ b/chrome/browser/net/predictor.cc
@@ -27,7 +27,9 @@
 #include "base/threading/thread_restrictions.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/time/time.h"
+#include "base/trace_event/trace_event.h"
 #include "base/values.h"
+#include "build/build_config.h"
 #include "chrome/browser/io_thread.h"
 #include "chrome/browser/prefs/session_startup_pref.h"
 #include "chrome/browser/profiles/profile_io_data.h"
@@ -60,8 +62,49 @@
 const base::Feature kNetworkPrediction{"NetworkPrediction",
                                        base::FEATURE_ENABLED_BY_DEFAULT};
 
+#if defined(OS_ANDROID)
+// Disabled on Android, as there are no "pinned tabs", meaning that a startup
+// is unlikely to request the same URL, and hence to resolve the same domains
+// as the previous one.
+constexpr bool kInitialDnsPrefetchListEnabled = false;
+#else
+constexpr bool kInitialDnsPrefetchListEnabled = true;
+#endif  // defined(OS_ANDROID)
+
 }  // namespace
 
+// The InitialObserver monitors navigations made by the network stack. This
+// is only used to identify startup time resolutions (for re-resolution
+// during our next process startup).
+// TODO(jar): Consider preconnecting at startup, which may be faster than
+// waiting for render process to start and request a connection.
+class InitialObserver {
+ public:
+  InitialObserver();
+  ~InitialObserver();
+  // Recording of when we observed each navigation.
+  typedef std::map<GURL, base::TimeTicks> FirstNavigations;
+
+  // Potentially add a new URL to our startup list.
+  void Append(const GURL& url, Predictor* predictor);
+
+  // Get an HTML version of our current planned first_navigations_.
+  void GetFirstResolutionsHtml(std::string* output);
+
+  // Persist the current first_navigations_ for storage in a list.
+  void GetInitialDnsResolutionList(base::ListValue* startup_list);
+
+  // Discards all initial loading history.
+  void DiscardInitialNavigationHistory() { first_navigations_.clear(); }
+
+ private:
+  // List of the first N URL resolutions observed in this run.
+  FirstNavigations first_navigations_;
+
+  // The number of URLs we'll save for pre-resolving at next startup.
+  static const size_t kStartupResolutionCount = 10;
+};
+
 // static
 const int Predictor::kPredictorReferrerVersion = 2;
 const double Predictor::kPreconnectWorthyExpectedValue = 0.8;
@@ -506,7 +549,7 @@
 
 void Predictor::GetHtmlInfo(std::string* output) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  if (initial_observer_.get())
+  if (kInitialDnsPrefetchListEnabled && initial_observer_)
     initial_observer_->GetFirstResolutionsHtml(output);
   // Show list of subresource predictions and stats.
   GetHtmlReferrerLists(output);
@@ -587,7 +630,7 @@
 
 void Predictor::DiscardInitialNavigationHistory() {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  if (initial_observer_.get())
+  if (kInitialDnsPrefetchListEnabled && initial_observer_)
     initial_observer_->DiscardInitialNavigationHistory();
 }
 
@@ -597,9 +640,11 @@
     IOThread* io_thread,
     ProfileIOData* profile_io_data) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
+  TRACE_EVENT0("net", "Predictor::FinalizeInitializationOnIOThread");
 
   profile_io_data_ = profile_io_data;
-  initial_observer_.reset(new InitialObserver());
+  if (kInitialDnsPrefetchListEnabled)
+    initial_observer_ = base::MakeUnique<InitialObserver>();
 
   net::URLRequestContext* context =
       url_request_context_getter_->GetURLRequestContext();
@@ -612,7 +657,8 @@
   io_weak_factory_.reset(new base::WeakPtrFactory<Predictor>(this));
 
   // Prefetch these hostnames on startup.
-  DnsPrefetchMotivatedList(startup_urls, UrlInfo::STARTUP_LIST_MOTIVATED);
+  if (kInitialDnsPrefetchListEnabled)
+    DnsPrefetchMotivatedList(startup_urls, UrlInfo::STARTUP_LIST_MOTIVATED);
 
   DeserializeReferrers(*referral_list);
 
@@ -628,8 +674,8 @@
 
 void Predictor::LearnAboutInitialNavigation(const GURL& url) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  if (!PredictorEnabled() || nullptr == initial_observer_.get() ||
-      !CanPreresolveAndPreconnect()) {
+  if (!PredictorEnabled() || !kInitialDnsPrefetchListEnabled ||
+      !initial_observer_ || !CanPreresolveAndPreconnect()) {
     return;
   }
   initial_observer_->Append(url, this);
@@ -683,8 +729,8 @@
   if (!CanPreresolveAndPreconnect())
     return;
 
-  std::unique_ptr<base::ListValue> startup_list(new base::ListValue);
-  std::unique_ptr<base::ListValue> referral_list(new base::ListValue);
+  auto startup_list = base::MakeUnique<base::ListValue>();
+  auto referral_list = base::MakeUnique<base::ListValue>();
 
   // Get raw pointers to pass to the first task. Ownership of the unique_ptrs
   // will be passed to the reply task.
@@ -708,13 +754,16 @@
     std::unique_ptr<base::ListValue> referral_list) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   user_prefs_->Set(prefs::kDnsPrefetchingStartupList, *startup_list);
+
+  // May be empty if kInitialDnsPrefetchListEnabled is false. Still update the
+  // prefs to clear the state.
   user_prefs_->Set(prefs::kDnsPrefetchingHostReferralList, *referral_list);
 }
 
 void Predictor::WriteDnsPrefetchState(base::ListValue* startup_list,
                                       base::ListValue* referral_list) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  if (initial_observer_.get())
+  if (kInitialDnsPrefetchListEnabled && initial_observer_)
     initial_observer_->GetInitialDnsResolutionList(startup_list);
 
   SerializeReferrers(referral_list);
@@ -1107,14 +1156,11 @@
 //-----------------------------------------------------------------------------
 // Member definitions for InitialObserver class.
 
-Predictor::InitialObserver::InitialObserver() {
-}
+InitialObserver::InitialObserver() = default;
 
-Predictor::InitialObserver::~InitialObserver() {
-}
+InitialObserver::~InitialObserver() = default;
 
-void Predictor::InitialObserver::Append(const GURL& url,
-                                        Predictor* predictor) {
+void InitialObserver::Append(const GURL& url, Predictor* predictor) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   if (kStartupResolutionCount <= first_navigations_.size())
@@ -1126,38 +1172,32 @@
     first_navigations_[url] = base::TimeTicks::Now();
 }
 
-void Predictor::InitialObserver::GetInitialDnsResolutionList(
+void InitialObserver::GetInitialDnsResolutionList(
     base::ListValue* startup_list) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(startup_list);
   DCHECK(startup_list->empty());
   DCHECK_EQ(0u, startup_list->GetSize());
   startup_list->AppendInteger(kPredictorStartupFormatVersion);
-  for (FirstNavigations::iterator it = first_navigations_.begin();
-       it != first_navigations_.end();
-       ++it) {
-    DCHECK(it->first == Predictor::CanonicalizeUrl(it->first));
-    startup_list->AppendString(it->first.spec());
+  for (const auto& url_time : first_navigations_) {
+    DCHECK(url_time.first == Predictor::CanonicalizeUrl(url_time.first));
+    startup_list->AppendString(url_time.first.spec());
   }
 }
 
-void Predictor::InitialObserver::GetFirstResolutionsHtml(
-    std::string* output) {
+void InitialObserver::GetFirstResolutionsHtml(std::string* output) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   UrlInfo::UrlInfoTable resolution_list;
-  {
-    for (FirstNavigations::iterator it(first_navigations_.begin());
-         it != first_navigations_.end();
-         it++) {
-      UrlInfo info;
-      info.SetUrl(it->first);
-      info.set_time(it->second);
-      resolution_list.push_back(info);
-    }
+  for (const auto& url_time : first_navigations_) {
+    UrlInfo info;
+    info.SetUrl(url_time.first);
+    info.set_time(url_time.second);
+    resolution_list.push_back(info);
   }
   UrlInfo::GetHtmlTable(resolution_list,
-      "Future startups will prefetch DNS records for ", false, output);
+                        "Future startups will prefetch DNS records for ", false,
+                        output);
 }
 
 //-----------------------------------------------------------------------------
diff --git a/chrome/browser/net/predictor.h b/chrome/browser/net/predictor.h
index 7023275..627509b 100644
--- a/chrome/browser/net/predictor.h
+++ b/chrome/browser/net/predictor.h
@@ -63,6 +63,7 @@
 
 namespace chrome_browser_net {
 
+class InitialObserver;
 typedef std::map<GURL, UrlInfo> Results;
 
 // An observer for testing.
@@ -349,38 +350,6 @@
   DISALLOW_COPY_AND_ASSIGN(HostNameQueue);
   };
 
-  // The InitialObserver monitors navigations made by the network stack. This
-  // is only used to identify startup time resolutions (for re-resolution
-  // during our next process startup).
-  // TODO(jar): Consider preconnecting at startup, which may be faster than
-  // waiting for render process to start and request a connection.
-  class InitialObserver {
-   public:
-    InitialObserver();
-    ~InitialObserver();
-    // Recording of when we observed each navigation.
-    typedef std::map<GURL, base::TimeTicks> FirstNavigations;
-
-    // Potentially add a new URL to our startup list.
-    void Append(const GURL& url, Predictor* predictor);
-
-    // Get an HTML version of our current planned first_navigations_.
-    void GetFirstResolutionsHtml(std::string* output);
-
-    // Persist the current first_navigations_ for storage in a list.
-    void GetInitialDnsResolutionList(base::ListValue* startup_list);
-
-    // Discards all initial loading history.
-    void DiscardInitialNavigationHistory() { first_navigations_.clear(); }
-
-   private:
-    // List of the first N URL resolutions observed in this run.
-    FirstNavigations first_navigations_;
-
-    // The number of URLs we'll save for pre-resolving at next startup.
-    static const size_t kStartupResolutionCount = 10;
-  };
-
   // A map that is keyed with the host/port that we've learned were the cause
   // of loading additional URLs.  The list of additional targets is held
   // in a Referrer instance, which is a value in this map.
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
index e530027..bb63f04 100644
--- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -7,6 +7,7 @@
 #include "ash/system/devicetype_utils.h"
 #include "base/bind.h"
 #include "base/callback.h"
+#include "base/feature_list.h"
 #include "base/guid.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_macros.h"
@@ -31,6 +32,7 @@
 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
 #include "chrome/browser/ui/webui/signin/signin_utils.h"
 #include "chrome/common/channel_info.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/grit/generated_resources.h"
 #include "chromeos/chromeos_switches.h"
@@ -162,6 +164,7 @@
   // 4. Supervised users are allowed by owner.
   ChromeUserManager* user_manager = ChromeUserManager::Get();
   bool supervised_users_can_create =
+      base::FeatureList::IsEnabled(features::kSupervisedUserCreation) &&
       user_manager->AreSupervisedUsersAllowed() && allow_new_user &&
       !user_manager->GetUsersAllowedForSupervisedUsersCreation().empty();
   params->SetBoolean("supervisedUsersCanCreate", supervised_users_can_create);
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
index 06b8b7a..5a5cd912 100644
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -553,6 +553,7 @@
     "//rlz/features",
   ]
   deps = [
+    ":channel_info",
     ":version_header",
     "//base",
     "//base/third_party/dynamic_annotations",
diff --git a/chrome/common/channel_info.h b/chrome/common/channel_info.h
index a633722..010de41 100644
--- a/chrome/common/channel_info.h
+++ b/chrome/common/channel_info.h
@@ -41,6 +41,13 @@
 void SetChannel(const std::string& channel);
 #endif
 
+#if defined(OS_POSIX) && defined(GOOGLE_CHROME_BUILD)
+// Returns a channel-specific suffix to use when constructing the path of the
+// default user data directory, allowing multiple channels to run side-by-side.
+// In the stable channel, this returns the empty string.
+std::string GetChannelSuffixForDataDir();
+#endif
+
 }  // namespace chrome
 
 #endif  // CHROME_COMMON_CHANNEL_INFO_H_
diff --git a/chrome/common/channel_info_chromeos.cc b/chrome/common/channel_info_chromeos.cc
index a7df3e8..38e8cd3 100644
--- a/chrome/common/channel_info_chromeos.cc
+++ b/chrome/common/channel_info_chromeos.cc
@@ -46,4 +46,11 @@
 #endif
 }
 
+#if defined(GOOGLE_CHROME_BUILD)
+std::string GetChannelSuffixForDataDir() {
+  // ChromeOS doesn't support side-by-side installations.
+  return std::string();
+}
+#endif  // defined(GOOGLE_CHROME_BUILD)
+
 }  // namespace chrome
diff --git a/chrome/common/channel_info_posix.cc b/chrome/common/channel_info_posix.cc
index ff55d20..2b4e9792 100644
--- a/chrome/common/channel_info_posix.cc
+++ b/chrome/common/channel_info_posix.cc
@@ -15,9 +15,11 @@
 // Helper function to return both the channel enum and modifier string.
 // Implements both together to prevent their behavior from diverging, which has
 // happened multiple times in the past.
-version_info::Channel GetChannelImpl(std::string* modifier_out) {
+version_info::Channel GetChannelImpl(std::string* modifier_out,
+                                     std::string* data_dir_suffix_out) {
   version_info::Channel channel = version_info::Channel::UNKNOWN;
   std::string modifier;
+  std::string data_dir_suffix;
 
   char* env = getenv("CHROME_VERSION_EXTRA");
   if (env)
@@ -32,8 +34,10 @@
     modifier = "";
   } else if (modifier == "dev") {
     channel = version_info::Channel::DEV;
+    data_dir_suffix = "-unstable";
   } else if (modifier == "beta") {
     channel = version_info::Channel::BETA;
+    data_dir_suffix = "-beta";
   } else {
     modifier = "unknown";
   }
@@ -41,6 +45,8 @@
 
   if (modifier_out)
     modifier_out->swap(modifier);
+  if (data_dir_suffix_out)
+    data_dir_suffix_out->swap(data_dir_suffix);
 
   return channel;
 }
@@ -49,12 +55,20 @@
 
 std::string GetChannelString() {
   std::string modifier;
-  GetChannelImpl(&modifier);
+  GetChannelImpl(&modifier, nullptr);
   return modifier;
 }
 
+#if defined(GOOGLE_CHROME_BUILD)
+std::string GetChannelSuffixForDataDir() {
+  std::string data_dir_suffix;
+  GetChannelImpl(nullptr, &data_dir_suffix);
+  return data_dir_suffix;
+}
+#endif  // defined(GOOGLE_CHROME_BUILD)
+
 version_info::Channel GetChannel() {
-  return GetChannelImpl(nullptr);
+  return GetChannelImpl(nullptr, nullptr);
 }
 
 }  // namespace chrome
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 2547696..8613bab2 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -329,6 +329,11 @@
 const base::Feature kSiteDetails{"SiteDetails",
                                  base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Enables or disables the creation of (legacy) supervised users. Does not
+// affect existing supervised users.
+const base::Feature kSupervisedUserCreation{"SupervisedUserCreation",
+                                            base::FEATURE_DISABLED_BY_DEFAULT};
+
 #if defined(SYZYASAN)
 // Enable the deferred free mechanism in the syzyasan module, which helps the
 // performance by deferring some work on the critical path to a background
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 0cfcc346..f86827f7 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -172,6 +172,8 @@
 extern const base::Feature kSiteNotificationChannels;
 #endif
 
+extern const base::Feature kSupervisedUserCreation;
+
 #if defined(SYZYASAN)
 extern const base::Feature kSyzyasanDeferredFree;
 #endif
diff --git a/chrome/common/chrome_paths_linux.cc b/chrome/common/chrome_paths_linux.cc
index aa26cc9b..1527b89 100644
--- a/chrome/common/chrome_paths_linux.cc
+++ b/chrome/common/chrome_paths_linux.cc
@@ -12,6 +12,7 @@
 #include "base/nix/xdg_util.h"
 #include "base/path_service.h"
 #include "build/build_config.h"
+#include "chrome/common/channel_info.h"
 #include "chrome/common/chrome_paths_internal.h"
 
 namespace chrome {
@@ -56,18 +57,29 @@
 
 }  // namespace
 
+// This returns <config-home>/<product>, where
+//   <config-home> is:
+//     $XDG_CONFIG_HOME if set
+//     otherwise ~/.config
+//   and <product> is:
+//     "chromium" for Chromium
+//     "google-chrome" for stable channel official build
+//     "google-chrome-beta" for beta channel official build
+//     "google-chrome-unstable" for dev channel official build
+//
+// (Note that ChromeMainDelegate will override the value returned by this
+// function if $CHROME_USER_DATA_DIR or --user-data-dir is set.)
+//
 // See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
-// for a spec on where config files go.  The net effect for most
-// systems is we use ~/.config/chromium/ for Chromium and
-// ~/.config/google-chrome/ for official builds.
-// (This also helps us sidestep issues with other apps grabbing ~/.chromium .)
+// for a spec on where config files go.  Using ~/.config also helps us sidestep
+// issues with other apps grabbing ~/.chromium .
 bool GetDefaultUserDataDirectory(base::FilePath* result) {
   std::unique_ptr<base::Environment> env(base::Environment::Create());
   base::FilePath config_dir(GetXDGDirectory(env.get(),
                                             kXdgConfigHomeEnvVar,
                                             kDotConfigDir));
 #if defined(GOOGLE_CHROME_BUILD)
-  *result = config_dir.Append("google-chrome");
+  *result = config_dir.Append("google-chrome" + GetChannelSuffixForDataDir());
 #else
   *result = config_dir.Append("chromium");
 #endif
diff --git a/content/browser/devtools/protocol/storage_handler.cc b/content/browser/devtools/protocol/storage_handler.cc
index 511a7009..a0202bd 100644
--- a/content/browser/devtools/protocol/storage_handler.cc
+++ b/content/browser/devtools/protocol/storage_handler.cc
@@ -164,8 +164,8 @@
       host_->GetProcess()->GetStoragePartition()->GetQuotaManager();
   BrowserThread::PostTask(
       BrowserThread::IO, FROM_HERE,
-      base::Bind(&GetUsageAndQuotaOnIOThread, manager, origin_url,
-                 base::Passed(std::move(callback))));
+      base::Bind(&GetUsageAndQuotaOnIOThread, base::RetainedRef(manager),
+                 origin_url, base::Passed(std::move(callback))));
 }
 
 }  // namespace protocol
diff --git a/content/browser/frame_host/navigation_controller_impl_unittest.cc b/content/browser/frame_host/navigation_controller_impl_unittest.cc
index 3784d24e..108acc6d 100644
--- a/content/browser/frame_host/navigation_controller_impl_unittest.cc
+++ b/content/browser/frame_host/navigation_controller_impl_unittest.cc
@@ -424,7 +424,9 @@
     // Check that the GoToOffset will land on the expected page.
     EXPECT_EQ(urls[url_index], controller.GetPendingEntry()->GetVirtualURL());
     main_test_rfh()->PrepareForCommit();
-    main_test_rfh()->SendNavigate(entry_id, false, urls[url_index]);
+    main_test_rfh()->SendNavigateWithTransition(
+        entry_id, false, urls[url_index],
+        controller.GetPendingEntry()->GetTransitionType());
     EXPECT_EQ(1U, navigation_entry_committed_counter_);
     navigation_entry_committed_counter_ = 0;
     // Check that we can go to any valid offset into the history.
@@ -1366,7 +1368,9 @@
   // Going back, the first entry should still appear unprivileged.
   controller.GoBack();
   new_rfh->PrepareForCommit();
-  contents()->GetPendingMainFrame()->SendNavigate(entry1_id, false, url1);
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      entry1_id, false, url1,
+      controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(0, controller.GetLastCommittedEntryIndex());
   EXPECT_EQ(0, controller.GetLastCommittedEntry()->bindings());
 }
@@ -1696,7 +1700,8 @@
   entry_id = controller.GetPendingEntry()->GetUniqueID();
   EXPECT_FALSE(controller.GetPendingEntry()->GetIsOverridingUserAgent());
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url1);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry_id, false, url1, controller.GetPendingEntry()->GetTransitionType());
 
   EXPECT_EQ(1, change_counter);
 }
@@ -1801,7 +1806,8 @@
   EXPECT_TRUE(controller.CanGoForward());
 
   main_test_rfh()->PrepareForCommitWithServerRedirect(url3);
-  main_test_rfh()->SendNavigate(entry1_id, true, url3);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry1_id, true, url3, controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(1U, navigation_entry_committed_counter_);
   navigation_entry_committed_counter_ = 0;
 
@@ -1874,7 +1880,9 @@
 
   controller.GoBack();
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry1->GetUniqueID(), false, url1);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry1->GetUniqueID(), false, url1,
+      controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(1U, navigation_entry_committed_counter_);
   navigation_entry_committed_counter_ = 0;
 
@@ -1899,7 +1907,9 @@
             controller.GetEntryAtIndex(1)->GetTimestamp());
 
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry2->GetUniqueID(), false, url2);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry2->GetUniqueID(), false, url2,
+      controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(1U, navigation_entry_committed_counter_);
   navigation_entry_committed_counter_ = 0;
 
@@ -1946,7 +1956,9 @@
 
   controller.GoBack();
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry1->GetUniqueID(), false, url1);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry1->GetUniqueID(), false, url1,
+      controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(1U, navigation_entry_committed_counter_);
   navigation_entry_committed_counter_ = 0;
 
@@ -3006,7 +3018,8 @@
   EXPECT_FALSE(our_controller.GetEntryAtIndex(0)->site_instance());
 
   // After navigating, we should have one entry, and it should be "pending".
-  our_controller.GoToIndex(0);
+  EXPECT_TRUE(our_controller.NeedsReload());
+  our_controller.LoadIfNecessary();
   EXPECT_EQ(1, our_controller.GetEntryCount());
   EXPECT_EQ(our_controller.GetEntryAtIndex(0),
             our_controller.GetPendingEntry());
@@ -3076,7 +3089,8 @@
   EXPECT_FALSE(our_controller.GetEntryAtIndex(0)->site_instance());
 
   // After navigating, we should have one entry, and it should be "pending".
-  our_controller.GoToIndex(0);
+  EXPECT_TRUE(our_controller.NeedsReload());
+  our_controller.LoadIfNecessary();
   EXPECT_EQ(1, our_controller.GetEntryCount());
   EXPECT_EQ(our_controller.GetEntryAtIndex(0),
             our_controller.GetPendingEntry());
@@ -3198,7 +3212,8 @@
 
   // Now commit and delete the last entry.
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url4);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry_id, false, url4, controller.GetPendingEntry()->GetTransitionType());
   EXPECT_TRUE(controller.RemoveEntryAtIndex(controller.GetEntryCount() - 1));
   EXPECT_EQ(4, controller.GetEntryCount());
   EXPECT_EQ(3, controller.GetLastCommittedEntryIndex());
@@ -3246,6 +3261,8 @@
   // and pending entries.
   controller.GoBack();
   entry_id = controller.GetPendingEntry()->GetUniqueID();
+  ui::PageTransition entry_transition =
+      controller.GetPendingEntry()->GetTransitionType();
   EXPECT_FALSE(controller.RemoveEntryAtIndex(2));
   EXPECT_FALSE(controller.RemoveEntryAtIndex(1));
 
@@ -3260,7 +3277,8 @@
 
   // Now commit and ensure we land on the right entry.
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url2);
+  main_test_rfh()->SendNavigateWithTransition(entry_id, false, url2,
+                                              entry_transition);
   EXPECT_EQ(2, controller.GetEntryCount());
   EXPECT_EQ(0, controller.GetLastCommittedEntryIndex());
   EXPECT_FALSE(controller.GetPendingEntry());
@@ -3363,7 +3381,8 @@
   controller.GoToOffset(-1);
   entry_id = controller.GetPendingEntry()->GetUniqueID();
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url3);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry_id, false, url3, controller.GetPendingEntry()->GetTransitionType());
 
   // Add a transient and go to an entry before the current one.
   transient_entry.reset(new NavigationEntryImpl);
@@ -3378,7 +3397,8 @@
   // Visible entry does not update for history navigations until commit.
   EXPECT_EQ(url3, controller.GetVisibleEntry()->GetURL());
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url1);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry_id, false, url1, controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(url1, controller.GetVisibleEntry()->GetURL());
 
   // Add a transient and go to an entry after the current one.
@@ -3394,7 +3414,8 @@
   EXPECT_EQ(url2, controller.GetPendingEntry()->GetURL());
   EXPECT_EQ(url1, controller.GetVisibleEntry()->GetURL());
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url2);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry_id, false, url2, controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(url2, controller.GetVisibleEntry()->GetURL());
 
   // Add a transient and go forward.
@@ -3410,7 +3431,8 @@
   EXPECT_EQ(url3, controller.GetPendingEntry()->GetURL());
   EXPECT_EQ(url2, controller.GetVisibleEntry()->GetURL());
   main_test_rfh()->PrepareForCommit();
-  main_test_rfh()->SendNavigate(entry_id, false, url3);
+  main_test_rfh()->SendNavigateWithTransition(
+      entry_id, false, url3, controller.GetPendingEntry()->GetTransitionType());
   EXPECT_EQ(url3, controller.GetVisibleEntry()->GetURL());
 
   // Add a transient and do an in-page navigation, replacing the current entry.
diff --git a/content/browser/frame_host/render_frame_host_manager_unittest.cc b/content/browser/frame_host/render_frame_host_manager_unittest.cc
index b79232b51..1434b848 100644
--- a/content/browser/frame_host/render_frame_host_manager_unittest.cc
+++ b/content/browser/frame_host/render_frame_host_manager_unittest.cc
@@ -1265,8 +1265,9 @@
 
   // The back navigation commits.
   const NavigationEntry* entry1 = contents()->GetController().GetPendingEntry();
-  contents()->GetPendingMainFrame()->SendNavigate(
-      entry1->GetUniqueID(), false, entry1->GetURL());
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      entry1->GetUniqueID(), false, entry1->GetURL(),
+      entry1->GetTransitionType());
   EXPECT_TRUE(rfh2->IsWaitingForUnloadACK());
   EXPECT_FALSE(rfh2->is_active());
 
@@ -1274,8 +1275,9 @@
   contents()->GetController().GoForward();
   contents()->GetMainFrame()->PrepareForCommit();
   const NavigationEntry* entry2 = contents()->GetController().GetPendingEntry();
-  contents()->GetPendingMainFrame()->SendNavigate(
-      entry2->GetUniqueID(), false, entry2->GetURL());
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      entry2->GetUniqueID(), false, entry2->GetURL(),
+      entry2->GetTransitionType());
   EXPECT_TRUE(main_test_rfh()->is_active());
 }
 
@@ -1440,8 +1442,9 @@
 
   // The back navigation commits.
   const NavigationEntry* entry1 = contents()->GetController().GetPendingEntry();
-  contents()->GetPendingMainFrame()->SendNavigate(
-      entry1->GetUniqueID(), false, entry1->GetURL());
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      entry1->GetUniqueID(), false, entry1->GetURL(),
+      entry1->GetTransitionType());
 
   // Ensure the opener is still cleared.
   EXPECT_FALSE(contents()->HasOpener());
@@ -1474,8 +1477,9 @@
   contents()->GetController().GoBack();
   contents()->GetMainFrame()->PrepareForCommit();
   const NavigationEntry* entry1 = contents()->GetController().GetPendingEntry();
-  contents()->GetPendingMainFrame()->SendNavigate(
-      entry1->GetUniqueID(), false, entry1->GetURL());
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      entry1->GetUniqueID(), false, entry1->GetURL(),
+      entry1->GetTransitionType());
 
   // Disown the opener from rfh2.
   rfh2->DidChangeOpener(MSG_ROUTING_NONE);
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index 05d2f2cd..b5a1c61 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -1203,9 +1203,9 @@
               it.name(), it.value(), child_id, resource_context,
               base::Bind(
                   &ResourceDispatcherHostImpl::ContinuePendingBeginRequest,
-                  base::Unretained(this), requester_info, request_id,
-                  request_data, sync_result_handler, route_id, headers,
-                  base::Passed(std::move(mojo_request)),
+                  base::Unretained(this), make_scoped_refptr(requester_info),
+                  request_id, request_data, sync_result_handler, route_id,
+                  headers, base::Passed(std::move(mojo_request)),
                   base::Passed(std::move(url_loader_client))));
           return;
         }
diff --git a/content/browser/media/media_interface_proxy.cc b/content/browser/media/media_interface_proxy.cc
index 4e41bc8..0c95324 100644
--- a/content/browser/media/media_interface_proxy.cc
+++ b/content/browser/media/media_interface_proxy.cc
@@ -111,8 +111,8 @@
       BrowserContext::GetDefaultStoragePartition(
           render_frame_host_->GetProcess()->GetBrowserContext())
           ->GetURLRequestContext();
-  provider->registry()->AddInterface(
-      base::Bind(&ProvisionFetcherImpl::Create, context_getter));
+  provider->registry()->AddInterface(base::Bind(
+      &ProvisionFetcherImpl::Create, base::RetainedRef(context_getter)));
 #endif  // BUILDFLAG(ENABLE_MOJO_CDM)
   GetContentClient()->browser()->ExposeInterfacesToMediaService(
       provider->registry(), render_frame_host_);
diff --git a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
index e5f0d75..e97074f 100644
--- a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
+++ b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
@@ -82,7 +82,7 @@
             return base::MakeUnique<ServiceWorkerNavigationHandleCore>(nullptr,
                                                                        wrapper);
           },
-          context_wrapper),
+          base::RetainedRef(context_wrapper)),
       base::Bind(
           [](std::unique_ptr<ServiceWorkerNavigationHandleCore>* dest,
              std::unique_ptr<ServiceWorkerNavigationHandleCore> src) {
diff --git a/content/browser/service_worker/service_worker_url_loader_job.cc b/content/browser/service_worker/service_worker_url_loader_job.cc
index 70e925b9..89bbdf42 100644
--- a/content/browser/service_worker/service_worker_url_loader_job.cc
+++ b/content/browser/service_worker/service_worker_url_loader_job.cc
@@ -105,7 +105,7 @@
       resource_request_.resource_type, base::nullopt,
       net::NetLogWithSource() /* TODO(scottmg): net log? */,
       base::Bind(&ServiceWorkerURLLoaderJob::DidPrepareFetchEvent,
-                 weak_factory_.GetWeakPtr(), active_worker),
+                 weak_factory_.GetWeakPtr(), make_scoped_refptr(active_worker)),
       base::Bind(&ServiceWorkerURLLoaderJob::DidDispatchFetchEvent,
                  weak_factory_.GetWeakPtr())));
   // TODO(kinuko): Handle navigation preload.
diff --git a/content/browser/service_worker/service_worker_url_request_job.cc b/content/browser/service_worker/service_worker_url_request_job.cc
index 01d4344..922e1f8 100644
--- a/content/browser/service_worker/service_worker_url_request_job.cc
+++ b/content/browser/service_worker/service_worker_url_request_job.cc
@@ -979,7 +979,7 @@
       CreateFetchRequest(), active_worker, resource_type_, timeout_,
       request()->net_log(),
       base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent,
-                 weak_factory_.GetWeakPtr(), active_worker),
+                 weak_factory_.GetWeakPtr(), make_scoped_refptr(active_worker)),
       base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent,
                  weak_factory_.GetWeakPtr())));
   worker_start_time_ = base::TimeTicks::Now();
diff --git a/content/browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc b/content/browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc
index 78c5e8b..02fc3bc4 100644
--- a/content/browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc
+++ b/content/browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc
@@ -398,8 +398,9 @@
 
   EXPECT_TRUE(contents()->CrossProcessNavigationPending());
   NavigationEntry* pending = contents()->GetController().GetPendingEntry();
-  contents()->GetPendingMainFrame()->SendNavigate(
-      pending->GetUniqueID(), false, pending->GetURL());
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      pending->GetUniqueID(), false, pending->GetURL(),
+      pending->GetTransitionType());
   EXPECT_EQ(contents()->GetURL(), third());
 }
 
@@ -414,8 +415,9 @@
   EXPECT_TRUE(GetOverlay()->web_contents());
 
   NavigationEntry* pending = contents()->GetController().GetPendingEntry();
-  contents()->GetPendingMainFrame()->SendNavigate(
-      pending->GetUniqueID(), false, pending->GetURL());
+  contents()->GetPendingMainFrame()->SendNavigateWithTransition(
+      pending->GetUniqueID(), false, pending->GetURL(),
+      pending->GetTransitionType());
   ReceivePaintUpdate();
 
   // Navigation was committed and the paint update was received - we should no
diff --git a/content/browser/web_contents/web_contents_impl_unittest.cc b/content/browser/web_contents/web_contents_impl_unittest.cc
index 995b962..70b86b9 100644
--- a/content/browser/web_contents/web_contents_impl_unittest.cc
+++ b/content/browser/web_contents/web_contents_impl_unittest.cc
@@ -860,7 +860,8 @@
   ASSERT_EQ(0u, entries.size());
   ASSERT_EQ(1, controller().GetEntryCount());
 
-  controller().GoToIndex(0);
+  EXPECT_TRUE(controller().NeedsReload());
+  controller().LoadIfNecessary();
   NavigationEntry* entry = controller().GetPendingEntry();
   orig_rfh->PrepareForCommit();
   contents()->TestDidNavigate(orig_rfh, entry->GetUniqueID(), false,
@@ -909,7 +910,8 @@
   ASSERT_EQ(0u, entries.size());
 
   ASSERT_EQ(1, controller().GetEntryCount());
-  controller().GoToIndex(0);
+  EXPECT_TRUE(controller().NeedsReload());
+  controller().LoadIfNecessary();
   NavigationEntry* entry = controller().GetPendingEntry();
   orig_rfh->PrepareForCommit();
   contents()->TestDidNavigate(orig_rfh, entry->GetUniqueID(), false,
@@ -1467,8 +1469,9 @@
   controller().GoBack();
   entry_id = controller().GetPendingEntry()->GetUniqueID();
   orig_rfh->PrepareForCommit();
-  contents()->TestDidNavigate(orig_rfh, entry_id, false, url,
-                              ui::PAGE_TRANSITION_TYPED);
+  contents()->TestDidNavigate(
+      orig_rfh, entry_id, false, url,
+      controller().GetPendingEntry()->GetTransitionType());
   entry = controller().GetLastCommittedEntry();
   EXPECT_TRUE(entry->GetPageState().IsValid());
 }
diff --git a/content/renderer/input/main_thread_event_queue.cc b/content/renderer/input/main_thread_event_queue.cc
index ab5d0c6d..7b15c0b8 100644
--- a/content/renderer/input/main_thread_event_queue.cc
+++ b/content/renderer/input/main_thread_event_queue.cc
@@ -118,8 +118,9 @@
           (now - creationTimestamp()).InMicroseconds(), 1, kTenSeconds, 50);
     }
 
-    HandledEventCallback callback = base::BindOnce(
-        &QueuedWebInputEvent::HandledEvent, base::Unretained(this), queue);
+    HandledEventCallback callback =
+        base::BindOnce(&QueuedWebInputEvent::HandledEvent,
+                       base::Unretained(this), base::RetainedRef(queue));
     queue->HandleEventOnMainThread(coalesced_event(), latencyInfo(),
                                    std::move(callback));
   }
diff --git a/content/renderer/media/audio_renderer_sink_cache_unittest.cc b/content/renderer/media/audio_renderer_sink_cache_unittest.cc
index afbaf16..846b016 100644
--- a/content/renderer/media/audio_renderer_sink_cache_unittest.cc
+++ b/content/renderer/media/audio_renderer_sink_cache_unittest.cc
@@ -341,9 +341,9 @@
   EXPECT_EQ(1, sink_count());
 
   // Release the sink on the second thread.
-  PostAndRunUntilDone(thread2,
-                      base::Bind(&AudioRendererSinkCache::ReleaseSink,
-                                 base::Unretained(cache_.get()), sink));
+  PostAndRunUntilDone(thread2, base::Bind(&AudioRendererSinkCache::ReleaseSink,
+                                          base::Unretained(cache_.get()),
+                                          base::RetainedRef(sink)));
 
   EXPECT_EQ(0, sink_count());
 }
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
index 3d62527..71cc1e5 100644
--- a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
+++ b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
@@ -67,18 +67,19 @@
         ['win', 'd3d11'], bug=644740)
     self.Fail('conformance2/textures/misc/tex-base-level-bug.html',
         ['win', 'd3d11'], bug=705865)
+    self.Flaky('conformance2/textures/svg_image/' +
+        'tex-2d-rgb565-rgb-unsigned_short_5_6_5.html',
+        ['win'], bug=736926)
 
     # Failing intermittently with out-of-memory crashes on some Windows bots.
-    self.Flaky('deqp/functional/gles3/texturefiltering/3d_formats_05.html',
-               ['win'], bug=735527)
-    self.Flaky('deqp/functional/gles3/texturefiltering/3d_formats_06.html',
-               ['win'], bug=735527)
-    self.Flaky('deqp/functional/gles3/texturefiltering/3d_formats_07.html',
-               ['win'], bug=735527)
-    self.Flaky('deqp/functional/gles3/texturefiltering/3d_sizes_02.html',
-               ['win'], bug=735527)
-    self.Flaky('deqp/functional/gles3/texturefiltering/3d_sizes_03.html',
-               ['win'], bug=735527)
+    self.Flaky('deqp/functional/gles3/texturefiltering/*',
+        ['win'], bug=725664)
+    self.Flaky('deqp/functional/gles3/textureformat/*',
+        ['win'], bug=725664)
+    self.Flaky('deqp/functional/gles3/textureshadow/*',
+        ['win'], bug=725664)
+    self.Flaky('deqp/functional/gles3/texturespecification/*',
+        ['win'], bug=725664)
 
     # Win / NVidia
     self.Flaky('deqp/functional/gles3/fbomultisample*',
diff --git a/content/test/gpu/gpu_tests/webgl_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
index 9b75f8c..18f66e3d 100644
--- a/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
+++ b/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
@@ -203,6 +203,10 @@
     self.Flaky('conformance/textures/misc/copytexsubimage2d-subrects.html',
         ['win', 'amd', 'passthrough', 'd3d11'], bug=685232)
 
+    # Win / NVIDIA / Passthrough command decoder / D3D11
+    self.Flaky('conformance/programs/program-test.html',
+        ['win', 'nvidia', 'passthrough', 'd3d11'], bug=737016)
+
     # Win failures
     # Note that the following test seems to pass, but it may still be flaky.
     self.Fail('conformance/glsl/constructors/' +
@@ -229,6 +233,8 @@
         ['win10', ('nvidia', 0x1cb3), 'd3d9'], bug=680754)
     self.Fail('conformance/limits/gl-max-texture-dimensions.html',
         ['win10', ('nvidia', 0x1cb3)], bug=715001)
+    self.Fail('conformance/ogles/GL/atan/atan_001_to_008.html',
+        ['win10', ('nvidia', 0x1cb3), 'd3d9'], bug=737018)
     self.Fail('conformance/ogles/GL/cos/cos_001_to_006.html',
         ['win10', ('nvidia', 0x1cb3), 'd3d9'], bug=680754)
 
diff --git a/extensions/browser/blob_reader.cc b/extensions/browser/blob_reader.cc
index 45c2c122..b121c32 100644
--- a/extensions/browser/blob_reader.cc
+++ b/extensions/browser/blob_reader.cc
@@ -35,10 +35,33 @@
   }
   DCHECK(blob_url.is_valid());
 
-  // This network request is annotated with NO_TRAFFIC_ANNOTATION_YET as
-  // it is scheduled to be removed in (crbug.com/701851).
+  net::NetworkTrafficAnnotationTag traffic_annotation =
+      net::DefineNetworkTrafficAnnotation("blob_reader", R"(
+        semantics {
+          sender: "BlobReader"
+          description:
+            "Blobs are used for a variety of use cases, and are basically "
+            "immutable blocks of data. See https://chromium.googlesource.com/"
+            "chromium/src/+/master/storage/browser/blob/README.md for an "
+            "explanation of blobs and their implementation in Chrome. These "
+            "can be created by scripts in a website, web platform features, or "
+            "internally in the browser."
+          trigger:
+            "Request for reading the contents of a blob."
+          data:
+            "A reference to a Blob, File, or CacheStorage entry created from "
+            "script, a web platform feature, or browser internals."
+          destination: LOCAL
+        }
+        policy {
+          cookies_allowed: false
+          setting: "This feature cannot be disabled by settings."
+          policy_exception_justification:
+            "Not implemented. This is a local data fetch request and has no "
+            "network activity."
+        })");
   fetcher_ = net::URLFetcher::Create(blob_url, net::URLFetcher::GET, this,
-                                     NO_TRAFFIC_ANNOTATION_YET);
+                                     traffic_annotation);
   fetcher_->SetRequestContext(
       content::BrowserContext::GetDefaultStoragePartition(browser_context)
           ->GetURLRequestContext());
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
index 76e6315..5241fac 100644
--- a/headless/lib/browser/headless_web_contents_impl.cc
+++ b/headless/lib/browser/headless_web_contents_impl.cc
@@ -101,7 +101,7 @@
   void CloseContents(content::WebContents* source) override {
     if (source != headless_web_contents_->web_contents())
       return;
-    headless_web_contents_->web_contents()->Close();
+    headless_web_contents_->Close();
   }
 
  private:
diff --git a/ios/chrome/app/application_delegate/metrics_mediator.mm b/ios/chrome/app/application_delegate/metrics_mediator.mm
index 191d4938..1d40282 100644
--- a/ios/chrome/app/application_delegate/metrics_mediator.mm
+++ b/ios/chrome/app/application_delegate/metrics_mediator.mm
@@ -8,6 +8,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/user_metrics_action.h"
 #include "base/strings/sys_string_conversions.h"
+#include "base/task_scheduler/post_task.h"
 #include "components/crash/core/common/crash_keys.h"
 #include "components/metrics/metrics_pref_names.h"
 #include "components/metrics/metrics_service.h"
@@ -225,37 +226,35 @@
 }
 
 - (void)setAppGroupMetricsEnabled:(BOOL)enabled {
-  metrics::MetricsService* metrics =
-      GetApplicationContext()->GetMetricsService();
+  app_group::ProceduralBlockWithData callback;
   if (enabled) {
     PrefService* prefs = GetApplicationContext()->GetLocalState();
     NSString* brandCode =
         base::SysUTF8ToNSString(ios::GetChromeBrowserProvider()
                                     ->GetAppDistributionProvider()
                                     ->GetDistributionBrandCode());
+
     app_group::main_app::EnableMetrics(
-        base::SysUTF8ToNSString(metrics->GetClientId()), brandCode,
-        prefs->GetInt64(metrics::prefs::kInstallDate),
+        base::SysUTF8ToNSString(
+            GetApplicationContext()->GetMetricsService()->GetClientId()),
+        brandCode, prefs->GetInt64(metrics::prefs::kInstallDate),
         prefs->GetInt64(metrics::prefs::kMetricsReportingEnabledTimestamp));
+
+    // If metrics are enabled, process the logs. Otherwise, just delete them.
+    callback = ^(NSData* log_content) {
+      std::string log(static_cast<const char*>([log_content bytes]),
+                      static_cast<size_t>([log_content length]));
+      web::WebThread::PostTask(
+          web::WebThread::UI, FROM_HERE, base::BindBlockArc(^{
+            GetApplicationContext()->GetMetricsService()->PushExternalLog(log);
+          }));
+    };
   } else {
     app_group::main_app::DisableMetrics();
   }
 
-  // If metrics are enabled, process the logs. Otherwise, just delete them.
-  app_group::ProceduralBlockWithData callback;
-  if (enabled) {
-    callback = [^(NSData* log_content) {
-      std::string log(static_cast<const char*>([log_content bytes]),
-                      static_cast<size_t>([log_content length]));
-      web::WebThread::PostTask(web::WebThread::UI, FROM_HERE,
-                               base::BindBlockArc(^{
-                                 metrics->PushExternalLog(log);
-                               }));
-    } copy];
-  }
-
-  web::WebThread::PostTask(
-      web::WebThread::FILE, FROM_HERE,
+  base::PostTaskWithTraits(
+      FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND},
       base::Bind(&app_group::main_app::ProcessPendingLogs, callback));
 }
 
diff --git a/ios/chrome/browser/reading_list/reading_list_download_service.cc b/ios/chrome/browser/reading_list/reading_list_download_service.cc
index 2abb0c5..c0b2cdf 100644
--- a/ios/chrome/browser/reading_list/reading_list_download_service.cc
+++ b/ios/chrome/browser/reading_list/reading_list_download_service.cc
@@ -13,11 +13,12 @@
 #include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
+#include "base/task_scheduler/post_task.h"
+#include "base/threading/thread_restrictions.h"
 #include "components/reading_list/core/offline_url_utils.h"
 #include "components/reading_list/core/reading_list_entry.h"
 #include "components/reading_list/core/reading_list_model.h"
 #include "ios/chrome/browser/reading_list/reading_list_distiller_page_factory.h"
-#include "ios/web/public/web_thread.h"
 
 namespace {
 // Status of the download when it ends, for UMA report.
@@ -144,8 +145,8 @@
         break;
     }
   }
-  web::WebThread::PostTaskAndReply(
-      web::WebThread::FILE, FROM_HERE,
+  base::PostTaskWithTraitsAndReply(
+      FROM_HERE, {base::MayBlock(), base::TaskPriority::BACKGROUND},
       base::Bind(&ReadingListDownloadService::CleanUpFiles,
                  base::Unretained(this), processed_directories),
       base::Bind(&ReadingListDownloadService::DownloadUnprocessedEntries,
@@ -154,6 +155,7 @@
 
 void ReadingListDownloadService::CleanUpFiles(
     const std::set<std::string>& processed_directories) {
+  base::ThreadRestrictions::AssertIOAllowed();
   base::FileEnumerator file_enumerator(OfflineRoot(), false,
                                        base::FileEnumerator::DIRECTORIES);
   for (base::FilePath sub_directory = file_enumerator.Next();
@@ -180,8 +182,8 @@
       entry->DistilledState() == ReadingListEntry::PROCESSED || entry->IsRead())
     return;
   GURL local_url(url);
-  web::WebThread::PostDelayedTask(
-      web::WebThread::UI, FROM_HERE,
+  base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
+      FROM_HERE,
       base::Bind(&ReadingListDownloadService::DownloadEntry,
                  weak_ptr_factory_.GetWeakPtr(), local_url),
       entry->TimeUntilNextTry());
diff --git a/ios/chrome/common/app_group/app_group_metrics_mainapp.mm b/ios/chrome/common/app_group/app_group_metrics_mainapp.mm
index b33cfec0..bfbf7e4 100644
--- a/ios/chrome/common/app_group/app_group_metrics_mainapp.mm
+++ b/ios/chrome/common/app_group/app_group_metrics_mainapp.mm
@@ -7,6 +7,7 @@
 #include <stdint.h>
 
 #include "base/logging.h"
+#include "base/threading/thread_restrictions.h"
 #include "ios/chrome/common/app_group/app_group_constants.h"
 #include "ios/chrome/common/app_group/app_group_metrics.h"
 
@@ -19,6 +20,7 @@
 namespace main_app {
 
 void ProcessPendingLogs(ProceduralBlockWithData callback) {
+  base::ThreadRestrictions::AssertIOAllowed();
   NSFileManager* file_manager = [NSFileManager defaultManager];
   NSURL* store_url = [file_manager
       containerURLForSecurityApplicationGroupIdentifier:ApplicationGroup()];
diff --git a/ios/clean/chrome/browser/ui/find_in_page/BUILD.gn b/ios/clean/chrome/browser/ui/find_in_page/BUILD.gn
index a53b364..dccbfe0 100644
--- a/ios/clean/chrome/browser/ui/find_in_page/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/find_in_page/BUILD.gn
@@ -19,7 +19,6 @@
     "//ios/chrome/browser/web_state_list",
     "//ios/clean/chrome/browser",
     "//ios/clean/chrome/browser/ui/actions",
-    "//ios/clean/chrome/browser/ui/animators",
     "//ios/clean/chrome/browser/ui/commands",
     "//ios/shared/chrome/browser/ui/browser_list",
     "//ios/shared/chrome/browser/ui/commands",
@@ -40,9 +39,7 @@
     "//ios/chrome/browser/ui/find_bar",
     "//ios/clean/chrome/browser/ui",
     "//ios/clean/chrome/browser/ui/actions",
-    "//ios/clean/chrome/browser/ui/animators",
     "//ios/clean/chrome/browser/ui/commands",
-    "//ios/clean/chrome/browser/ui/presenters",
     "//ui/base",
   ]
   libs = [ "UIKit.framework" ]
diff --git a/ios/clean/chrome/browser/ui/presenters/menu_presentation_delegate.h b/ios/clean/chrome/browser/ui/presenters/menu_presentation_delegate.h
deleted file mode 100644
index 65d4ca96..0000000
--- a/ios/clean/chrome/browser/ui/presenters/menu_presentation_delegate.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_DELEGATE_H_
-#define IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_DELEGATE_H_
-
-#import <Foundation/Foundation.h>
-
-// Protocol for an object to assist with menu presentation by providing
-// spatial information for the menu.
-@protocol MenuPresentationDelegate
-// Return the CGRect in which the Menu presentation will take place.
-- (CGRect)boundsForMenuPresentation;
-// Return the origin in the coordinate space of the presenting view controller's
-// view, in which the Menu presentation will present from.
-- (CGRect)originForMenuPresentation;
-@end
-
-#endif  // IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_DELEGATE_H_
diff --git a/ios/clean/chrome/browser/ui/root/BUILD.gn b/ios/clean/chrome/browser/ui/root/BUILD.gn
index 19133fb1..d499ecd 100644
--- a/ios/clean/chrome/browser/ui/root/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/root/BUILD.gn
@@ -26,8 +26,8 @@
   ]
   deps = [
     "//base",
-    "//ios/clean/chrome/browser/ui/animators",
-    "//ios/clean/chrome/browser/ui/presenters",
+    "//ios/clean/chrome/browser/ui/transitions/animators",
+    "//ios/clean/chrome/browser/ui/transitions/presenters",
   ]
   configs += [ "//build/config/compiler:enable_arc" ]
 }
@@ -42,7 +42,7 @@
     ":root_ui",
     "//base",
     "//ios/clean/chrome/browser",
-    "//ios/clean/chrome/browser/ui/animators",
+    "//ios/clean/chrome/browser/ui/transitions/animators",
     "//testing/gtest",
     "//third_party/ocmock",
   ]
diff --git a/ios/clean/chrome/browser/ui/root/root_container_view_controller.h b/ios/clean/chrome/browser/ui/root/root_container_view_controller.h
index 0f3ffe0..0181677 100644
--- a/ios/clean/chrome/browser/ui/root/root_container_view_controller.h
+++ b/ios/clean/chrome/browser/ui/root/root_container_view_controller.h
@@ -7,8 +7,8 @@
 
 #import <UIKit/UIKit.h>
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
-#import "ios/clean/chrome/browser/ui/presenters/menu_presentation_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_delegate.h"
 
 // View controller that wholly contains a content view controller.
 @interface RootContainerViewController
diff --git a/ios/clean/chrome/browser/ui/root/root_container_view_controller_unittest.mm b/ios/clean/chrome/browser/ui/root/root_container_view_controller_unittest.mm
index ddb39002..0a849832 100644
--- a/ios/clean/chrome/browser/ui/root/root_container_view_controller_unittest.mm
+++ b/ios/clean/chrome/browser/ui/root/root_container_view_controller_unittest.mm
@@ -5,7 +5,7 @@
 #import "ios/clean/chrome/browser/ui/root/root_container_view_controller.h"
 
 #include "base/macros.h"
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/platform_test.h"
 #import "third_party/ocmock/OCMock/OCMock.h"
diff --git a/ios/clean/chrome/browser/ui/tab/BUILD.gn b/ios/clean/chrome/browser/ui/tab/BUILD.gn
index 3a3fea1..32baf708 100644
--- a/ios/clean/chrome/browser/ui/tab/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/tab/BUILD.gn
@@ -15,12 +15,12 @@
     "//base",
     "//ios/chrome/browser",
     "//ios/clean/chrome/browser/ui/actions",
-    "//ios/clean/chrome/browser/ui/animators",
     "//ios/clean/chrome/browser/ui/commands",
     "//ios/clean/chrome/browser/ui/find_in_page",
     "//ios/clean/chrome/browser/ui/ntp",
     "//ios/clean/chrome/browser/ui/tab_strip",
     "//ios/clean/chrome/browser/ui/toolbar",
+    "//ios/clean/chrome/browser/ui/transitions",
     "//ios/clean/chrome/browser/ui/web_contents",
     "//ios/shared/chrome/browser/ui/broadcaster",
     "//ios/shared/chrome/browser/ui/browser_list",
@@ -37,8 +37,8 @@
   ]
   deps = [
     "//ios/clean/chrome/browser/ui",
-    "//ios/clean/chrome/browser/ui/animators",
-    "//ios/clean/chrome/browser/ui/presenters",
+    "//ios/clean/chrome/browser/ui/transitions/animators",
+    "//ios/clean/chrome/browser/ui/transitions/presenters",
   ]
   libs = [ "UIKit.framework" ]
   configs += [ "//build/config/compiler:enable_arc" ]
diff --git a/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.h b/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.h
index ba1426b..6a1aacc 100644
--- a/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.h
+++ b/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.h
@@ -7,8 +7,8 @@
 
 #import <UIKit/UIKit.h>
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
-#import "ios/clean/chrome/browser/ui/presenters/menu_presentation_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_delegate.h"
 
 // Abstract base class for a view controller that contains several views,
 // each managed by their own view controllers.
diff --git a/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.mm b/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.mm
index e00714a8..b4b56b1 100644
--- a/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.mm
+++ b/ios/clean/chrome/browser/ui/tab/tab_container_view_controller.mm
@@ -184,7 +184,7 @@
   return self.view.bounds;
 }
 - (CGRect)originForMenuPresentation {
-  return [self rectForZoomWithKey:@"" inView:self.view];
+  return [self rectForZoomWithKey:nil inView:self.view];
 }
 
 #pragma mark - ZoomTransitionDelegate
diff --git a/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm b/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm
index f098627..a0f011c0 100644
--- a/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm
+++ b/ios/clean/chrome/browser/ui/tab/tab_coordinator.mm
@@ -9,7 +9,6 @@
 #include "base/mac/foundation_util.h"
 #include "base/memory/ptr_util.h"
 #include "ios/chrome/browser/chrome_url_constants.h"
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_controller.h"
 #import "ios/clean/chrome/browser/ui/commands/tab_commands.h"
 #import "ios/clean/chrome/browser/ui/commands/tab_strip_commands.h"
 #import "ios/clean/chrome/browser/ui/find_in_page/find_in_page_coordinator.h"
@@ -17,6 +16,7 @@
 #import "ios/clean/chrome/browser/ui/tab/tab_container_view_controller.h"
 #import "ios/clean/chrome/browser/ui/tab_strip/tab_strip_coordinator.h"
 #import "ios/clean/chrome/browser/ui/toolbar/toolbar_coordinator.h"
+#import "ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.h"
 #import "ios/clean/chrome/browser/ui/web_contents/web_coordinator.h"
 #import "ios/shared/chrome/browser/ui/broadcaster/chrome_broadcaster.h"
 #import "ios/shared/chrome/browser/ui/browser_list/browser.h"
diff --git a/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn b/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn
index 25b5240b..ff74a57 100644
--- a/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/tab_grid/BUILD.gn
@@ -61,9 +61,9 @@
     "//ios/chrome/browser/ui/colors",
     "//ios/chrome/browser/ui/tab_switcher",
     "//ios/clean/chrome/browser/ui/actions",
-    "//ios/clean/chrome/browser/ui/animators",
     "//ios/clean/chrome/browser/ui/commands",
     "//ios/clean/chrome/browser/ui/tab_collection:tab_collection_ui",
+    "//ios/clean/chrome/browser/ui/transitions/animators",
     "//ios/third_party/material_components_ios:material_components_ios",
     "//ui/base",
   ]
diff --git a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_toolbar.h b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_toolbar.h
index 46ecd39..e2025b1 100644
--- a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_toolbar.h
+++ b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_toolbar.h
@@ -7,7 +7,7 @@
 
 #import <UIKit/UIKit.h>
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
 
 // The toolbar in the tab grid, which has a done button, incognito button, and
 // an overflow menu button. The toolbar has an intrinsic height, and its buttons
diff --git a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h
index b9a104e..18092ae 100644
--- a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h
+++ b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h
@@ -7,8 +7,8 @@
 
 #import "ios/clean/chrome/browser/ui/tab_collection/tab_collection_view_controller.h"
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_consumer.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
 
 @protocol SettingsCommands;
 @protocol TabGridCommands;
diff --git a/ios/clean/chrome/browser/ui/toolbar/BUILD.gn b/ios/clean/chrome/browser/ui/toolbar/BUILD.gn
index bf72de3..c02d0ba 100644
--- a/ios/clean/chrome/browser/ui/toolbar/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/toolbar/BUILD.gn
@@ -38,9 +38,9 @@
     ":toolbar_components_ui",
     "//base",
     "//ios/chrome/browser/ui",
-    "//ios/clean/chrome/browser/ui/animators",
     "//ios/clean/chrome/browser/ui/commands",
     "//ios/clean/chrome/browser/ui/tools",
+    "//ios/clean/chrome/browser/ui/transitions/animators",
     "//ios/third_party/material_components_ios",
   ]
   libs = [ "UIKit.framework" ]
diff --git a/ios/clean/chrome/browser/ui/toolbar/toolbar_view_controller.h b/ios/clean/chrome/browser/ui/toolbar/toolbar_view_controller.h
index 13954a22..cd070d0a 100644
--- a/ios/clean/chrome/browser/ui/toolbar/toolbar_view_controller.h
+++ b/ios/clean/chrome/browser/ui/toolbar/toolbar_view_controller.h
@@ -7,8 +7,8 @@
 
 #import <UIKit/UIKit.h>
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
 #import "ios/clean/chrome/browser/ui/toolbar/toolbar_consumer.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
 
 @protocol NavigationCommands;
 @protocol TabGridCommands;
diff --git a/ios/clean/chrome/browser/ui/tools/BUILD.gn b/ios/clean/chrome/browser/ui/tools/BUILD.gn
index 28f2dd2f..07e1043 100644
--- a/ios/clean/chrome/browser/ui/tools/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/tools/BUILD.gn
@@ -17,6 +17,7 @@
     ":tools_ui",
     "//base",
     "//ios/clean/chrome/browser/ui/commands",
+    "//ios/clean/chrome/browser/ui/transitions",
     "//ios/shared/chrome/browser/ui/browser_list",
     "//ios/shared/chrome/browser/ui/coordinators",
     "//ios/shared/chrome/browser/ui/tools_menu",
@@ -36,8 +37,6 @@
     "tools_menu_item.mm",
     "tools_menu_model.h",
     "tools_menu_model.mm",
-    "tools_menu_transition_controller.h",
-    "tools_menu_transition_controller.mm",
   ]
 
   configs += [ "//build/config/compiler:enable_arc" ]
@@ -50,10 +49,9 @@
     "//ios/chrome/app/theme",
     "//ios/chrome/browser/ui",
     "//ios/chrome/browser/ui/tools_menu",
-    "//ios/clean/chrome/browser/ui/animators",
     "//ios/clean/chrome/browser/ui/commands",
-    "//ios/clean/chrome/browser/ui/presenters",
     "//ios/clean/chrome/browser/ui/toolbar:toolbar_components_ui",
+    "//ios/clean/chrome/browser/ui/transitions",
     "//ios/third_party/material_components_ios",
   ]
 }
diff --git a/ios/clean/chrome/browser/ui/tools/tools_coordinator.mm b/ios/clean/chrome/browser/ui/tools/tools_coordinator.mm
index 7bdd6b25..0251ceba 100644
--- a/ios/clean/chrome/browser/ui/tools/tools_coordinator.mm
+++ b/ios/clean/chrome/browser/ui/tools/tools_coordinator.mm
@@ -6,7 +6,7 @@
 
 #import "ios/clean/chrome/browser/ui/tools/menu_view_controller.h"
 #import "ios/clean/chrome/browser/ui/tools/tools_mediator.h"
-#import "ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.h"
+#import "ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.h"
 #import "ios/shared/chrome/browser/ui/browser_list/browser.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
@@ -16,7 +16,7 @@
 @interface ToolsCoordinator ()
 @property(nonatomic, strong) ToolsMediator* mediator;
 @property(nonatomic, strong)
-    ToolsMenuTransitionController* transitionController;
+    ZoomingMenuTransitionController* transitionController;
 @property(nonatomic, strong) MenuViewController* viewController;
 @end
 
@@ -32,7 +32,7 @@
 - (void)start {
   self.viewController = [[MenuViewController alloc] init];
   self.viewController.modalPresentationStyle = UIModalPresentationCustom;
-  self.transitionController = [[ToolsMenuTransitionController alloc]
+  self.transitionController = [[ZoomingMenuTransitionController alloc]
       initWithDispatcher:static_cast<id>(self.browser->dispatcher())];
   self.viewController.transitioningDelegate = self.transitionController;
   self.viewController.dispatcher = static_cast<id>(self.browser->dispatcher());
diff --git a/ios/clean/chrome/browser/ui/transitions/BUILD.gn b/ios/clean/chrome/browser/ui/transitions/BUILD.gn
new file mode 100644
index 0000000..0fb5b0b
--- /dev/null
+++ b/ios/clean/chrome/browser/ui/transitions/BUILD.gn
@@ -0,0 +1,20 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("transitions") {
+  sources = [
+    "zoom_transition_controller.h",
+    "zoom_transition_controller.mm",
+    "zooming_menu_transition_controller.h",
+    "zooming_menu_transition_controller.mm",
+  ]
+
+  configs += [ "//build/config/compiler:enable_arc" ]
+
+  deps = [
+    "//base",
+    "//ios/clean/chrome/browser/ui/transitions/animators",
+    "//ios/clean/chrome/browser/ui/transitions/presenters",
+  ]
+}
diff --git a/ios/clean/chrome/browser/ui/animators/BUILD.gn b/ios/clean/chrome/browser/ui/transitions/animators/BUILD.gn
similarity index 84%
rename from ios/clean/chrome/browser/ui/animators/BUILD.gn
rename to ios/clean/chrome/browser/ui/transitions/animators/BUILD.gn
index c563a9a..32c610a 100644
--- a/ios/clean/chrome/browser/ui/animators/BUILD.gn
+++ b/ios/clean/chrome/browser/ui/transitions/animators/BUILD.gn
@@ -6,8 +6,6 @@
   sources = [
     "zoom_transition_animator.h",
     "zoom_transition_animator.mm",
-    "zoom_transition_controller.h",
-    "zoom_transition_controller.mm",
     "zoom_transition_delegate.h",
   ]
 
diff --git a/ios/clean/chrome/browser/ui/animators/README.md b/ios/clean/chrome/browser/ui/transitions/animators/README.md
similarity index 100%
rename from ios/clean/chrome/browser/ui/animators/README.md
rename to ios/clean/chrome/browser/ui/transitions/animators/README.md
diff --git a/ios/clean/chrome/browser/ui/animators/zoom_transition_animator.h b/ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.h
similarity index 84%
rename from ios/clean/chrome/browser/ui/animators/zoom_transition_animator.h
rename to ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.h
index 98f2393..7d846e8 100644
--- a/ios/clean/chrome/browser/ui/animators/zoom_transition_animator.h
+++ b/ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_ANIMATOR_H_
-#define IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_ANIMATOR_H_
+#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ANIMATORS_ZOOM_TRANSITION_ANIMATOR_H_
+#define IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ANIMATORS_ZOOM_TRANSITION_ANIMATOR_H_
 
 #import <UIKit/UIKit.h>
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h"
 
 // A transition animator object. The transition (for presentation) will begin
 // with the presented view occupying a rectangle supplied by the delegate, or
@@ -41,4 +41,4 @@
 
 @end
 
-#endif  // IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_ANIMATOR_H_
+#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ANIMATORS_ZOOM_TRANSITION_ANIMATOR_H_
diff --git a/ios/clean/chrome/browser/ui/animators/zoom_transition_animator.mm b/ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.mm
similarity index 97%
rename from ios/clean/chrome/browser/ui/animators/zoom_transition_animator.mm
rename to ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.mm
index c754194f..32f57c4 100644
--- a/ios/clean/chrome/browser/ui/animators/zoom_transition_animator.mm
+++ b/ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_animator.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.h"
 
 #include "base/mac/foundation_util.h"
 
diff --git a/ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h b/ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h
similarity index 62%
rename from ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h
rename to ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h
index 358273f4..1d65eb5a 100644
--- a/ios/clean/chrome/browser/ui/animators/zoom_transition_delegate.h
+++ b/ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_delegate.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_DELEGATE_H_
-#define IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_DELEGATE_H_
+#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ANIMATORS_ZOOM_TRANSITION_DELEGATE_H_
+#define IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ANIMATORS_ZOOM_TRANSITION_DELEGATE_H_
 
 #import <UIKit/UIKit.h>
 
@@ -13,4 +13,4 @@
 - (CGRect)rectForZoomWithKey:(NSObject*)key inView:(UIView*)view;
 @end
 
-#endif  // IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_DELEGATE_H_
+#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ANIMATORS_ZOOM_TRANSITION_DELEGATE_H_
diff --git a/ios/clean/chrome/browser/ui/presenters/BUILD.gn b/ios/clean/chrome/browser/ui/transitions/presenters/BUILD.gn
similarity index 100%
rename from ios/clean/chrome/browser/ui/presenters/BUILD.gn
rename to ios/clean/chrome/browser/ui/transitions/presenters/BUILD.gn
diff --git a/ios/clean/chrome/browser/ui/presenters/README.md b/ios/clean/chrome/browser/ui/transitions/presenters/README.md
similarity index 100%
rename from ios/clean/chrome/browser/ui/presenters/README.md
rename to ios/clean/chrome/browser/ui/transitions/presenters/README.md
diff --git a/ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.h b/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.h
similarity index 80%
rename from ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.h
rename to ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.h
index 258e620..16a497c7 100644
--- a/ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.h
+++ b/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
-#define IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
+#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
+#define IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
 
 #import <UIKit/UIKit.h>
 
@@ -25,4 +25,4 @@
 @property(nonatomic, weak) id<ToolsMenuCommands> dispatcher;
 @end
 
-#endif  // IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
+#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
diff --git a/ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.mm b/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.mm
similarity index 95%
rename from ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.mm
rename to ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.mm
index 40fbaaa..98384627 100644
--- a/ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.mm
+++ b/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.mm
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.h"
+#import "ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.h"
 
 #import <QuartzCore/QuartzCore.h>
 
 #include "ios/clean/chrome/browser/ui/commands/tools_menu_commands.h"
-#include "ios/clean/chrome/browser/ui/presenters/menu_presentation_delegate.h"
+#include "ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_delegate.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
diff --git a/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_delegate.h b/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_delegate.h
new file mode 100644
index 0000000..ca854da8
--- /dev/null
+++ b/ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_delegate.h
@@ -0,0 +1,20 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_PRESENTERS_MENU_PRESENTATION_DELEGATE_H_
+#define IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_PRESENTERS_MENU_PRESENTATION_DELEGATE_H_
+
+#import <Foundation/Foundation.h>
+
+// Protocol for an object to assist with menu presentation by providing
+// spatial information for the menu.
+@protocol MenuPresentationDelegate
+// Returns the CGRect in which the Menu presentation will take place.
+- (CGRect)boundsForMenuPresentation;
+// Returns the origin in the coordinate space of the presenting view
+// controller's view, in which the Menu presentation will present from.
+- (CGRect)originForMenuPresentation;
+@end
+
+#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_PRESENTERS_MENU_PRESENTATION_DELEGATE_H_
diff --git a/ios/clean/chrome/browser/ui/animators/zoom_transition_controller.h b/ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.h
similarity index 64%
rename from ios/clean/chrome/browser/ui/animators/zoom_transition_controller.h
rename to ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.h
index fffd83e8..5839cb6 100644
--- a/ios/clean/chrome/browser/ui/animators/zoom_transition_controller.h
+++ b/ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_CONTROLLER_H_
-#define IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_CONTROLLER_H_
+#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ZOOM_TRANSITION_CONTROLLER_H_
+#define IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ZOOM_TRANSITION_CONTROLLER_H_
 
 #import <UIKit/UIKit.h>
 
 // Transition delegate object that conforms to the
-// UIViewControllerTransitioningDelegate protocol and provides the VC
-// with a ZoomAnimator as animator for transitions.
+// UIViewControllerTransitioningDelegate protocol and provides a ZoomAnimator as
+// animator for transitions.
 @interface ZoomTransitionController
     : NSObject<UIViewControllerTransitioningDelegate>
 
@@ -19,4 +19,4 @@
 @property(nonatomic, copy) NSObject* presentationKey;
 @end
 
-#endif  // IOS_CLEAN_CHROME_BROWSER_UI_ANIMATORS_ZOOM_TRANSITION_CONTROLLER_H_
+#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ZOOM_TRANSITION_CONTROLLER_H_
diff --git a/ios/clean/chrome/browser/ui/animators/zoom_transition_controller.mm b/ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.mm
similarity index 87%
rename from ios/clean/chrome/browser/ui/animators/zoom_transition_controller.mm
rename to ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.mm
index 11e377c..71fe761 100644
--- a/ios/clean/chrome/browser/ui/animators/zoom_transition_controller.mm
+++ b/ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.mm
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_controller.h"
+#import "ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.h"
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_animator.h"
+#import "ios/clean/chrome/browser/ui/transitions/animators/zoom_transition_animator.h"
 
 @implementation ZoomTransitionController
 @synthesize presentationKey = _presentationKey;
diff --git a/ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.h b/ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.h
similarity index 63%
rename from ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.h
rename to ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.h
index c1da071..7d3d416d 100644
--- a/ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.h
+++ b/ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TOOLS_TOOLS_MENU_TRANSITION_CONTROLLER_H_
-#define IOS_CLEAN_CHROME_BROWSER_UI_TOOLS_TOOLS_MENU_TRANSITION_CONTROLLER_H_
+#ifndef IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ZOOMING_MENU_TRANSITION_CONTROLLER_H_
+#define IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ZOOMING_MENU_TRANSITION_CONTROLLER_H_
 
-#import "ios/clean/chrome/browser/ui/animators/zoom_transition_controller.h"
+#import "ios/clean/chrome/browser/ui/transitions/zoom_transition_controller.h"
 
 @protocol ToolsMenuCommands;
 
@@ -14,7 +14,7 @@
 // UIViewControllerTransitioningDelegate protocol and provides the ToolsMenuVC
 // with MenuPresentationController as a UIPresentationController. This object
 // drives the animation and frame of the presented ToolsMenuVC.
-@interface ToolsMenuTransitionController : ZoomTransitionController
+@interface ZoomingMenuTransitionController : ZoomTransitionController
 
 // A dispatcher is needed in order to close the presented ToolsMenuVC.
 - (instancetype)initWithDispatcher:(id<ToolsMenuCommands>)dispatcher;
@@ -22,4 +22,4 @@
 
 @end
 
-#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TOOLS_TOOLS_MENU_TRANSITION_CONTROLLER_H_
+#endif  // IOS_CLEAN_CHROME_BROWSER_UI_TRANSITIONS_ZOOMING_MENU_TRANSITION_CONTROLLER_H_
diff --git a/ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.mm b/ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.mm
similarity index 74%
rename from ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.mm
rename to ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.mm
index 7956677..bee6326 100644
--- a/ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.mm
+++ b/ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.mm
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/clean/chrome/browser/ui/tools/tools_menu_transition_controller.h"
+#import "ios/clean/chrome/browser/ui/transitions/zooming_menu_transition_controller.h"
 
-#import "ios/clean/chrome/browser/ui/presenters/menu_presentation_controller.h"
+#import "ios/clean/chrome/browser/ui/transitions/presenters/menu_presentation_controller.h"
 
-@interface ToolsMenuTransitionController ()
+@interface ZoomingMenuTransitionController ()
 @property(nonatomic, weak) id<ToolsMenuCommands> dispatcher;
 @end
 
-@implementation ToolsMenuTransitionController
+@implementation ZoomingMenuTransitionController
 @synthesize dispatcher = _dispatcher;
 
 - (instancetype)initWithDispatcher:(id<ToolsMenuCommands>)dispatcher {
@@ -29,7 +29,7 @@
       [[MenuPresentationController alloc]
           initWithPresentedViewController:presented
                  presentingViewController:presenting];
-  menuPresentation.dispatcher = static_cast<id>(self.dispatcher);
+  menuPresentation.dispatcher = self.dispatcher;
   return menuPresentation;
 }
 
diff --git a/ios/showcase/content_suggestions/sc_content_suggestions_egtest.mm b/ios/showcase/content_suggestions/sc_content_suggestions_egtest.mm
index 08a30c1..4ed0b536 100644
--- a/ios/showcase/content_suggestions/sc_content_suggestions_egtest.mm
+++ b/ios/showcase/content_suggestions/sc_content_suggestions_egtest.mm
@@ -67,6 +67,8 @@
 
 // Tests launching ContentSuggestionsViewController.
 - (void)testLaunch {
+  EARL_GREY_TEST_DISABLED(@"Disabled until it is possible to hide some alerts");
+
   showcase_utils::Open(@"ContentSuggestionsViewController");
   [CellWithMatcher(chrome_test_util::ButtonWithAccessibilityLabelId(
       IDS_IOS_CONTENT_SUGGESTIONS_FOOTER_TITLE))
@@ -79,6 +81,8 @@
 
 // Tests the opening of a suggestion item by tapping on it.
 - (void)testOpenItem {
+  EARL_GREY_TEST_DISABLED(@"Disabled until it is possible to hide some alerts");
+
   showcase_utils::Open(@"ContentSuggestionsViewController");
   [CellWithID([SCContentSuggestionsDataSource titleFirstSuggestion])
       performAction:grey_tap()];
@@ -99,6 +103,8 @@
 
 // Tests dismissing an item with swipe-to-dismiss.
 - (void)testSwipeToDismiss {
+  EARL_GREY_TEST_DISABLED(@"Disabled until it is possible to hide some alerts");
+
   showcase_utils::Open(@"ContentSuggestionsViewController");
 
   [CellWithID([SCContentSuggestionsDataSource titleFirstSuggestion])
@@ -124,6 +130,8 @@
 
 // Tests that long pressing an item starts a context menu.
 - (void)testLongPressItem {
+  EARL_GREY_TEST_DISABLED(@"Disabled until it is possible to hide some alerts");
+
   showcase_utils::Open(@"ContentSuggestionsViewController");
   [CellWithID([SCContentSuggestionsDataSource titleFirstSuggestion])
       performAction:grey_longPress()];
@@ -142,6 +150,8 @@
 
 // Tests that swipe-to-dismiss on empty item does nothing.
 - (void)testNoSwipeToDismissEmptyItem {
+  EARL_GREY_TEST_DISABLED(@"Disabled until it is possible to hide some alerts");
+
   showcase_utils::Open(@"ContentSuggestionsViewController");
   [CellWithID([SCContentSuggestionsDataSource titleReadingListItem])
       performAction:grey_swipeFastInDirection(kGREYDirectionLeft)];
diff --git a/services/test/echo/BUILD.gn b/services/test/echo/BUILD.gn
new file mode 100644
index 0000000..8aa585f
--- /dev/null
+++ b/services/test/echo/BUILD.gn
@@ -0,0 +1,26 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//services/catalog/public/tools/catalog.gni")
+import("//services/service_manager/public/cpp/service.gni")
+import("//services/service_manager/public/service_manifest.gni")
+
+source_set("lib") {
+  sources = [
+    "echo_service.cc",
+    "echo_service.h",
+  ]
+
+  deps = [
+    "//base",
+    "//services/service_manager/public/cpp",
+    "//services/service_manager/public/interfaces",
+    "//services/test/echo/public/interfaces",
+  ]
+}
+
+service_manifest("manifest") {
+  name = "echo"
+  source = "manifest.json"
+}
diff --git a/services/test/echo/README.md b/services/test/echo/README.md
new file mode 100644
index 0000000..3f2931d
--- /dev/null
+++ b/services/test/echo/README.md
@@ -0,0 +1 @@
+A simple service that can be used for testing.
diff --git a/services/test/echo/echo_service.cc b/services/test/echo/echo_service.cc
new file mode 100644
index 0000000..93973275
--- /dev/null
+++ b/services/test/echo/echo_service.cc
@@ -0,0 +1,43 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/test/echo/echo_service.h"
+
+#include "services/service_manager/public/cpp/service_context.h"
+
+namespace echo {
+
+std::unique_ptr<service_manager::Service> CreateEchoService() {
+  return base::MakeUnique<EchoService>();
+}
+
+EchoService::EchoService() {
+  registry_.AddInterface<mojom::Echo>(
+      base::Bind(&EchoService::BindEchoRequest, base::Unretained(this)));
+}
+
+EchoService::~EchoService() {}
+
+void EchoService::OnStart() {}
+
+void EchoService::OnBindInterface(
+    const service_manager::BindSourceInfo& source_info,
+    const std::string& interface_name,
+    mojo::ScopedMessagePipeHandle interface_pipe) {
+  registry_.BindInterface(source_info, interface_name,
+                          std::move(interface_pipe));
+}
+
+void EchoService::BindEchoRequest(
+    const service_manager::BindSourceInfo& source_info,
+    mojom::EchoRequest request) {
+  bindings_.AddBinding(this, std::move(request));
+}
+
+void EchoService::EchoString(const std::string& input,
+                             EchoStringCallback callback) {
+  std::move(callback).Run(input);
+}
+
+}  // namespace echo
diff --git a/services/test/echo/echo_service.h b/services/test/echo/echo_service.h
new file mode 100644
index 0000000..90787f0
--- /dev/null
+++ b/services/test/echo/echo_service.h
@@ -0,0 +1,44 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SERVICES_ECHO_ECHO_SERVICE_H_
+#define SERVICES_ECHO_ECHO_SERVICE_H_
+
+#include "mojo/public/cpp/bindings/binding_set.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
+#include "services/service_manager/public/cpp/service.h"
+#include "services/test/echo/public/interfaces/echo.mojom.h"
+
+namespace echo {
+
+std::unique_ptr<service_manager::Service> CreateEchoService();
+
+class EchoService : public service_manager::Service, public mojom::Echo {
+ public:
+  EchoService();
+  ~EchoService() override;
+
+ private:
+  // service_manager::Service:
+  void OnStart() override;
+  void OnBindInterface(const service_manager::BindSourceInfo& source_info,
+                       const std::string& interface_name,
+                       mojo::ScopedMessagePipeHandle interface_pipe) override;
+
+  // mojom::Echo:
+  void EchoString(const std::string& input,
+                  EchoStringCallback callback) override;
+
+  void BindEchoRequest(const service_manager::BindSourceInfo& source_info,
+                       mojom::EchoRequest request);
+
+  service_manager::BinderRegistry registry_;
+  mojo::BindingSet<mojom::Echo> bindings_;
+
+  DISALLOW_COPY_AND_ASSIGN(EchoService);
+};
+
+}  // namespace echo
+
+#endif  // SERVICES_ECHO_ECHO_SERVICE_H_
diff --git a/services/test/echo/manifest.json b/services/test/echo/manifest.json
new file mode 100644
index 0000000..904809a7
--- /dev/null
+++ b/services/test/echo/manifest.json
@@ -0,0 +1,14 @@
+{
+  "name": "echo",
+  "display_name": "Echo Service",
+  "interface_provider_specs": {
+    "service_manager:connector": {
+      "provides": {
+        "echo" : [ "echo::mojom::Echo" ]
+      },
+      "requires": {
+        "service_manager": [ "service_manager:all_users" ]
+      }
+    }
+  }
+}
diff --git a/services/test/echo/public/interfaces/BUILD.gn b/services/test/echo/public/interfaces/BUILD.gn
new file mode 100644
index 0000000..d50f842
--- /dev/null
+++ b/services/test/echo/public/interfaces/BUILD.gn
@@ -0,0 +1,11 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//mojo/public/tools/bindings/mojom.gni")
+
+mojom("interfaces") {
+  sources = [
+    "echo.mojom",
+  ]
+}
diff --git a/services/test/echo/public/interfaces/OWNERS b/services/test/echo/public/interfaces/OWNERS
new file mode 100644
index 0000000..08850f4
--- /dev/null
+++ b/services/test/echo/public/interfaces/OWNERS
@@ -0,0 +1,2 @@
+per-file *.mojom=set noparent
+per-file *.mojom=file://ipc/SECURITY_OWNERS
diff --git a/services/test/echo/public/interfaces/echo.mojom b/services/test/echo/public/interfaces/echo.mojom
new file mode 100644
index 0000000..7ee057e9
--- /dev/null
+++ b/services/test/echo/public/interfaces/echo.mojom
@@ -0,0 +1,11 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module echo.mojom;
+
+// Echos its input.
+interface Echo {
+  // Echos the passed-in string.
+  EchoString(string input) => (string echoed_input);
+};
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 7b94ee7..b8d5041 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -19,6 +19,21 @@
             ]
         }
     ],
+    "AmpBackgroundTab": [
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "AmpBackgroundTab",
+                    "enable_features": [
+                        "CCTBackgroundTab"
+                    ]
+                }
+            ]
+        }
+    ],
     "AndroidAIAFetching": [
         {
             "platforms": [
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
index 2b283d7f..452e975c 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -4744,11 +4744,6 @@
 crbug.com/591099 external/wpt/css/css-shapes-1/spec-examples/shape-outside-017.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-shapes-1/spec-examples/shape-outside-018.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-shapes-1/spec-examples/shape-outside-019.html [ Failure ]
-crbug.com/591099 external/wpt/css/css-text-3/overflow-wrap/overflow-wrap-001.html [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-text-3/overflow-wrap/overflow-wrap-002.html [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-text-3/overflow-wrap/overflow-wrap-break-word-001.html [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-text-3/overflow-wrap/word-wrap-001.html [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-text-3/overflow-wrap/word-wrap-002.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-text-decor-3/text-emphasis-color-001.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/css-text-decor-3/text-emphasis-position-above-left-002.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/css-text-decor-3/text-emphasis-position-above-right-002.xht [ Crash Failure ]
@@ -15325,7 +15320,6 @@
 crbug.com/591099 http/tests/security/contentSecurityPolicy/cascade/cross-origin.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/cascade/same-origin-with-own-policy.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/cascade/same-origin.html [ Crash ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/directive-parsing-01.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/directive-parsing-02.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/directive-parsing-03.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index d414b9d..0120e10 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1651,9 +1651,6 @@
 crbug.com/399951 http/tests/mime/javascript-mimetype-usecounters.html [ Pass Failure ]
 crbug.com/399951 virtual/mojo-loading/http/tests/mime/javascript-mimetype-usecounters.html [ Pass Failure ]
 
-crbug.com/579493 http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml [ Timeout ]
-crbug.com/579493 virtual/mojo-loading/http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml [ Timeout ]
-
 crbug.com/572723 inspector/sources/debugger/debugger-uncaught-promise-on-pause.html [ Timeout Pass ]
 
 crbug.com/594672 fast/events/iframe-object-onload.html [ Failure Pass ]
diff --git a/third_party/WebKit/LayoutTests/W3CImportExpectations b/third_party/WebKit/LayoutTests/W3CImportExpectations
index fdaf7fcb..ae1ecbd 100644
--- a/third_party/WebKit/LayoutTests/W3CImportExpectations
+++ b/third_party/WebKit/LayoutTests/W3CImportExpectations
@@ -436,8 +436,6 @@
 external/wpt/common/vendor-prefix.js [ Skip ]
 
 # crbug.com/490939: The following tests are too large.  They cause time out frequently.
-# Also, html/dom/interfaces.html is flaky.
-external/wpt/html/dom/interfaces.html [ Skip ]
 # [ Slow ] didn't help the following svg-in-*.html tests.
 external/wpt/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-iframe-auto.html [ Skip ]
 external/wpt/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-iframe-fixed.html [ Skip ]
diff --git a/third_party/WebKit/LayoutTests/animations/keyframeeffect-no-target-crash-expected.txt b/third_party/WebKit/LayoutTests/animations/keyframeeffect-no-target-crash-expected.txt
new file mode 100644
index 0000000..654ddf7f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/animations/keyframeeffect-no-target-crash-expected.txt
@@ -0,0 +1 @@
+This test passes if it does not crash.
diff --git a/third_party/WebKit/LayoutTests/animations/keyframeeffect-no-target-crash.html b/third_party/WebKit/LayoutTests/animations/keyframeeffect-no-target-crash.html
new file mode 100644
index 0000000..e411077
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/animations/keyframeeffect-no-target-crash.html
@@ -0,0 +1,16 @@
+<div id="target">This test passes if it does not crash.</div>
+<script>
+  let effect = new KeyframeEffect(null, null, {duration: 1000});
+  let animation = new Animation(effect);
+
+  if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+    requestAnimationFrame(function() {
+      testRunner.notifyDone();
+    });
+  }
+</script>
+<style>
+@keyframes frame { }
+</style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html
index df80cbb..c7f7e38 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html
@@ -13,4 +13,15 @@
 
       assert_true(navigator.sendBeacon("http://{{domains[www]}}:{{ports[http][0]}}/common/text-plain.txt"));
     }, "sendBeacon should not throw.");
+
+    async_test(t => {
+      document.addEventListener("securitypolicyviolation", t.step_func_done(e => {
+        if (e.blockedURI != "http://{{domains[www]}}:{{ports[http][0]}}/common/text-plain.txt")
+            return;
+
+        assert_equals(e.violatedDirective, "connect-src");
+      }));
+
+      assert_true(navigator.sendBeacon("common/redirect-opt-in.py?status=307&location=http://{{domains[www]}}:{{ports[http][0]}}/common/text-plain.txt"));
+    }, "redirect case");
 </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces-expected.txt
new file mode 100644
index 0000000..286de04
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces-expected.txt
@@ -0,0 +1,5197 @@
+This is a testharness.js-based test.
+Found 5187 tests; 4980 PASS, 207 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS Test driver 
+PASS Document interface: attribute domain 
+PASS Document interface: attribute referrer 
+PASS Document interface: attribute cookie 
+PASS Document interface: attribute lastModified 
+PASS Document interface: attribute readyState 
+PASS Document interface: attribute title 
+PASS Document interface: attribute dir 
+PASS Document interface: attribute body 
+PASS Document interface: attribute head 
+PASS Document interface: attribute images 
+PASS Document interface: attribute embeds 
+PASS Document interface: attribute plugins 
+PASS Document interface: attribute links 
+PASS Document interface: attribute forms 
+PASS Document interface: attribute scripts 
+PASS Document interface: operation getElementsByName(DOMString) 
+PASS Document interface: attribute currentScript 
+PASS Document interface: operation open(DOMString,DOMString) 
+PASS Document interface: operation open(USVString,DOMString,DOMString) 
+PASS Document interface: operation close() 
+PASS Document interface: operation write(DOMString) 
+PASS Document interface: operation writeln(DOMString) 
+PASS Document interface: attribute defaultView 
+PASS Document interface: attribute activeElement 
+PASS Document interface: operation hasFocus() 
+PASS Document interface: attribute designMode 
+PASS Document interface: operation execCommand(DOMString,boolean,DOMString) 
+PASS Document interface: operation queryCommandEnabled(DOMString) 
+PASS Document interface: operation queryCommandIndeterm(DOMString) 
+PASS Document interface: operation queryCommandState(DOMString) 
+PASS Document interface: operation queryCommandSupported(DOMString) 
+PASS Document interface: operation queryCommandValue(DOMString) 
+PASS Document interface: attribute onreadystatechange 
+FAIL Document interface: attribute fgColor assert_true: The prototype object must have a property "fgColor" expected true got false
+FAIL Document interface: attribute linkColor assert_true: The prototype object must have a property "linkColor" expected true got false
+FAIL Document interface: attribute vlinkColor assert_true: The prototype object must have a property "vlinkColor" expected true got false
+FAIL Document interface: attribute alinkColor assert_true: The prototype object must have a property "alinkColor" expected true got false
+FAIL Document interface: attribute bgColor assert_true: The prototype object must have a property "bgColor" expected true got false
+PASS Document interface: attribute anchors 
+PASS Document interface: attribute applets 
+FAIL Document interface: operation clear() assert_own_property: interface prototype object missing non-static operation expected property "clear" missing
+FAIL Document interface: operation captureEvents() assert_own_property: interface prototype object missing non-static operation expected property "captureEvents" missing
+FAIL Document interface: operation releaseEvents() assert_own_property: interface prototype object missing non-static operation expected property "releaseEvents" missing
+FAIL Document interface: attribute all assert_true: The prototype object must have a property "all" expected true got false
+PASS Document interface: attribute onabort 
+PASS Document interface: attribute onauxclick 
+PASS Document interface: attribute onblur 
+PASS Document interface: attribute oncancel 
+PASS Document interface: attribute oncanplay 
+PASS Document interface: attribute oncanplaythrough 
+PASS Document interface: attribute onchange 
+PASS Document interface: attribute onclick 
+PASS Document interface: attribute onclose 
+PASS Document interface: attribute oncontextmenu 
+PASS Document interface: attribute oncuechange 
+PASS Document interface: attribute ondblclick 
+PASS Document interface: attribute ondrag 
+PASS Document interface: attribute ondragend 
+PASS Document interface: attribute ondragenter 
+FAIL Document interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false
+PASS Document interface: attribute ondragleave 
+PASS Document interface: attribute ondragover 
+PASS Document interface: attribute ondragstart 
+PASS Document interface: attribute ondrop 
+PASS Document interface: attribute ondurationchange 
+PASS Document interface: attribute onemptied 
+PASS Document interface: attribute onended 
+PASS Document interface: attribute onerror 
+PASS Document interface: attribute onfocus 
+PASS Document interface: attribute oninput 
+PASS Document interface: attribute oninvalid 
+PASS Document interface: attribute onkeydown 
+PASS Document interface: attribute onkeypress 
+PASS Document interface: attribute onkeyup 
+PASS Document interface: attribute onload 
+PASS Document interface: attribute onloadeddata 
+PASS Document interface: attribute onloadedmetadata 
+FAIL Document interface: attribute onloadend assert_true: The prototype object must have a property "onloadend" expected true got false
+PASS Document interface: attribute onloadstart 
+PASS Document interface: attribute onmousedown 
+PASS Document interface: attribute onmouseenter 
+PASS Document interface: attribute onmouseleave 
+PASS Document interface: attribute onmousemove 
+PASS Document interface: attribute onmouseout 
+PASS Document interface: attribute onmouseover 
+PASS Document interface: attribute onmouseup 
+PASS Document interface: attribute onwheel 
+PASS Document interface: attribute onpause 
+PASS Document interface: attribute onplay 
+PASS Document interface: attribute onplaying 
+PASS Document interface: attribute onprogress 
+PASS Document interface: attribute onratechange 
+PASS Document interface: attribute onreset 
+PASS Document interface: attribute onresize 
+PASS Document interface: attribute onscroll 
+PASS Document interface: attribute onseeked 
+PASS Document interface: attribute onseeking 
+PASS Document interface: attribute onselect 
+PASS Document interface: attribute onstalled 
+PASS Document interface: attribute onsubmit 
+PASS Document interface: attribute onsuspend 
+PASS Document interface: attribute ontimeupdate 
+PASS Document interface: attribute ontoggle 
+PASS Document interface: attribute onvolumechange 
+PASS Document interface: attribute onwaiting 
+PASS Document interface: attribute oncopy 
+PASS Document interface: attribute oncut 
+PASS Document interface: attribute onpaste 
+PASS Document interface: iframe.contentDocument must have own property "location" 
+PASS Document interface: iframe.contentDocument must inherit property "domain" with the proper type (31) 
+PASS Document interface: iframe.contentDocument must inherit property "referrer" with the proper type (32) 
+PASS Document interface: iframe.contentDocument must inherit property "cookie" with the proper type (33) 
+PASS Document interface: iframe.contentDocument must inherit property "lastModified" with the proper type (34) 
+PASS Document interface: iframe.contentDocument must inherit property "readyState" with the proper type (35) 
+PASS Document interface: iframe.contentDocument must inherit property "title" with the proper type (37) 
+PASS Document interface: iframe.contentDocument must inherit property "dir" with the proper type (38) 
+PASS Document interface: iframe.contentDocument must inherit property "body" with the proper type (39) 
+PASS Document interface: iframe.contentDocument must inherit property "head" with the proper type (40) 
+PASS Document interface: iframe.contentDocument must inherit property "images" with the proper type (41) 
+PASS Document interface: iframe.contentDocument must inherit property "embeds" with the proper type (42) 
+PASS Document interface: iframe.contentDocument must inherit property "plugins" with the proper type (43) 
+PASS Document interface: iframe.contentDocument must inherit property "links" with the proper type (44) 
+PASS Document interface: iframe.contentDocument must inherit property "forms" with the proper type (45) 
+PASS Document interface: iframe.contentDocument must inherit property "scripts" with the proper type (46) 
+PASS Document interface: iframe.contentDocument must inherit property "getElementsByName" with the proper type (47) 
+PASS Document interface: calling getElementsByName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "currentScript" with the proper type (48) 
+PASS Document interface: iframe.contentDocument must inherit property "open" with the proper type (49) 
+PASS Document interface: calling open(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "open" with the proper type (50) 
+PASS Document interface: calling open(USVString,DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "close" with the proper type (51) 
+PASS Document interface: iframe.contentDocument must inherit property "write" with the proper type (52) 
+PASS Document interface: calling write(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "writeln" with the proper type (53) 
+PASS Document interface: calling writeln(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type (54) 
+PASS Document interface: iframe.contentDocument must inherit property "activeElement" with the proper type (55) 
+PASS Document interface: iframe.contentDocument must inherit property "hasFocus" with the proper type (56) 
+PASS Document interface: iframe.contentDocument must inherit property "designMode" with the proper type (57) 
+PASS Document interface: iframe.contentDocument must inherit property "execCommand" with the proper type (58) 
+PASS Document interface: calling execCommand(DOMString,boolean,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandEnabled" with the proper type (59) 
+PASS Document interface: calling queryCommandEnabled(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandIndeterm" with the proper type (60) 
+PASS Document interface: calling queryCommandIndeterm(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandState" with the proper type (61) 
+PASS Document interface: calling queryCommandState(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandSupported" with the proper type (62) 
+PASS Document interface: calling queryCommandSupported(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandValue" with the proper type (63) 
+PASS Document interface: calling queryCommandValue(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "onreadystatechange" with the proper type (64) 
+PASS Document interface: iframe.contentDocument must inherit property "fgColor" with the proper type (65) 
+PASS Document interface: iframe.contentDocument must inherit property "linkColor" with the proper type (66) 
+PASS Document interface: iframe.contentDocument must inherit property "vlinkColor" with the proper type (67) 
+PASS Document interface: iframe.contentDocument must inherit property "alinkColor" with the proper type (68) 
+PASS Document interface: iframe.contentDocument must inherit property "bgColor" with the proper type (69) 
+PASS Document interface: iframe.contentDocument must inherit property "anchors" with the proper type (70) 
+PASS Document interface: iframe.contentDocument must inherit property "applets" with the proper type (71) 
+PASS Document interface: iframe.contentDocument must inherit property "clear" with the proper type (72) 
+PASS Document interface: iframe.contentDocument must inherit property "captureEvents" with the proper type (73) 
+PASS Document interface: iframe.contentDocument must inherit property "releaseEvents" with the proper type (74) 
+FAIL Document interface: iframe.contentDocument must inherit property "all" with the proper type (75) assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"]
+PASS Document interface: iframe.contentDocument must inherit property "onabort" with the proper type (85) 
+PASS Document interface: iframe.contentDocument must inherit property "onauxclick" with the proper type (86) 
+PASS Document interface: iframe.contentDocument must inherit property "onblur" with the proper type (87) 
+PASS Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (88) 
+PASS Document interface: iframe.contentDocument must inherit property "oncanplay" with the proper type (89) 
+PASS Document interface: iframe.contentDocument must inherit property "oncanplaythrough" with the proper type (90) 
+PASS Document interface: iframe.contentDocument must inherit property "onchange" with the proper type (91) 
+PASS Document interface: iframe.contentDocument must inherit property "onclick" with the proper type (92) 
+PASS Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (93) 
+PASS Document interface: iframe.contentDocument must inherit property "oncontextmenu" with the proper type (94) 
+PASS Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (95) 
+PASS Document interface: iframe.contentDocument must inherit property "ondblclick" with the proper type (96) 
+PASS Document interface: iframe.contentDocument must inherit property "ondrag" with the proper type (97) 
+PASS Document interface: iframe.contentDocument must inherit property "ondragend" with the proper type (98) 
+PASS Document interface: iframe.contentDocument must inherit property "ondragenter" with the proper type (99) 
+FAIL Document interface: iframe.contentDocument must inherit property "ondragexit" with the proper type (100) assert_inherits: property "ondragexit" not found in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "ondragleave" with the proper type (101) 
+PASS Document interface: iframe.contentDocument must inherit property "ondragover" with the proper type (102) 
+PASS Document interface: iframe.contentDocument must inherit property "ondragstart" with the proper type (103) 
+PASS Document interface: iframe.contentDocument must inherit property "ondrop" with the proper type (104) 
+PASS Document interface: iframe.contentDocument must inherit property "ondurationchange" with the proper type (105) 
+PASS Document interface: iframe.contentDocument must inherit property "onemptied" with the proper type (106) 
+PASS Document interface: iframe.contentDocument must inherit property "onended" with the proper type (107) 
+PASS Document interface: iframe.contentDocument must inherit property "onerror" with the proper type (108) 
+PASS Document interface: iframe.contentDocument must inherit property "onfocus" with the proper type (109) 
+PASS Document interface: iframe.contentDocument must inherit property "oninput" with the proper type (110) 
+PASS Document interface: iframe.contentDocument must inherit property "oninvalid" with the proper type (111) 
+PASS Document interface: iframe.contentDocument must inherit property "onkeydown" with the proper type (112) 
+PASS Document interface: iframe.contentDocument must inherit property "onkeypress" with the proper type (113) 
+PASS Document interface: iframe.contentDocument must inherit property "onkeyup" with the proper type (114) 
+PASS Document interface: iframe.contentDocument must inherit property "onload" with the proper type (115) 
+PASS Document interface: iframe.contentDocument must inherit property "onloadeddata" with the proper type (116) 
+PASS Document interface: iframe.contentDocument must inherit property "onloadedmetadata" with the proper type (117) 
+FAIL Document interface: iframe.contentDocument must inherit property "onloadend" with the proper type (118) assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type (119) 
+PASS Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type (120) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type (121) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type (122) 
+PASS Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type (123) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type (124) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type (125) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type (126) 
+PASS Document interface: iframe.contentDocument must inherit property "onwheel" with the proper type (127) 
+PASS Document interface: iframe.contentDocument must inherit property "onpause" with the proper type (128) 
+PASS Document interface: iframe.contentDocument must inherit property "onplay" with the proper type (129) 
+PASS Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type (130) 
+PASS Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type (131) 
+PASS Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type (132) 
+PASS Document interface: iframe.contentDocument must inherit property "onreset" with the proper type (133) 
+PASS Document interface: iframe.contentDocument must inherit property "onresize" with the proper type (134) 
+PASS Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type (135) 
+PASS Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type (136) 
+PASS Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type (137) 
+PASS Document interface: iframe.contentDocument must inherit property "onselect" with the proper type (138) 
+PASS Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type (139) 
+PASS Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type (140) 
+PASS Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type (141) 
+PASS Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type (142) 
+PASS Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type (143) 
+PASS Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type (144) 
+PASS Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type (145) 
+PASS Document interface: iframe.contentDocument must inherit property "oncopy" with the proper type (146) 
+PASS Document interface: iframe.contentDocument must inherit property "oncut" with the proper type (147) 
+PASS Document interface: iframe.contentDocument must inherit property "onpaste" with the proper type (148) 
+PASS Document interface: new Document() must have own property "location" 
+PASS Document interface: new Document() must inherit property "domain" with the proper type (31) 
+PASS Document interface: new Document() must inherit property "referrer" with the proper type (32) 
+PASS Document interface: new Document() must inherit property "cookie" with the proper type (33) 
+PASS Document interface: new Document() must inherit property "lastModified" with the proper type (34) 
+PASS Document interface: new Document() must inherit property "readyState" with the proper type (35) 
+PASS Document interface: new Document() must inherit property "title" with the proper type (37) 
+PASS Document interface: new Document() must inherit property "dir" with the proper type (38) 
+PASS Document interface: new Document() must inherit property "body" with the proper type (39) 
+PASS Document interface: new Document() must inherit property "head" with the proper type (40) 
+PASS Document interface: new Document() must inherit property "images" with the proper type (41) 
+PASS Document interface: new Document() must inherit property "embeds" with the proper type (42) 
+PASS Document interface: new Document() must inherit property "plugins" with the proper type (43) 
+PASS Document interface: new Document() must inherit property "links" with the proper type (44) 
+PASS Document interface: new Document() must inherit property "forms" with the proper type (45) 
+PASS Document interface: new Document() must inherit property "scripts" with the proper type (46) 
+PASS Document interface: new Document() must inherit property "getElementsByName" with the proper type (47) 
+PASS Document interface: calling getElementsByName(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "currentScript" with the proper type (48) 
+PASS Document interface: new Document() must inherit property "open" with the proper type (49) 
+PASS Document interface: calling open(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "open" with the proper type (50) 
+PASS Document interface: calling open(USVString,DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "close" with the proper type (51) 
+PASS Document interface: new Document() must inherit property "write" with the proper type (52) 
+PASS Document interface: calling write(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "writeln" with the proper type (53) 
+PASS Document interface: calling writeln(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "defaultView" with the proper type (54) 
+PASS Document interface: new Document() must inherit property "activeElement" with the proper type (55) 
+PASS Document interface: new Document() must inherit property "hasFocus" with the proper type (56) 
+PASS Document interface: new Document() must inherit property "designMode" with the proper type (57) 
+PASS Document interface: new Document() must inherit property "execCommand" with the proper type (58) 
+PASS Document interface: calling execCommand(DOMString,boolean,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "queryCommandEnabled" with the proper type (59) 
+PASS Document interface: calling queryCommandEnabled(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "queryCommandIndeterm" with the proper type (60) 
+PASS Document interface: calling queryCommandIndeterm(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "queryCommandState" with the proper type (61) 
+PASS Document interface: calling queryCommandState(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "queryCommandSupported" with the proper type (62) 
+PASS Document interface: calling queryCommandSupported(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "queryCommandValue" with the proper type (63) 
+PASS Document interface: calling queryCommandValue(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "onreadystatechange" with the proper type (64) 
+FAIL Document interface: new Document() must inherit property "fgColor" with the proper type (65) assert_inherits: property "fgColor" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "linkColor" with the proper type (66) assert_inherits: property "linkColor" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "vlinkColor" with the proper type (67) assert_inherits: property "vlinkColor" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "alinkColor" with the proper type (68) assert_inherits: property "alinkColor" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "bgColor" with the proper type (69) assert_inherits: property "bgColor" not found in prototype chain
+PASS Document interface: new Document() must inherit property "anchors" with the proper type (70) 
+PASS Document interface: new Document() must inherit property "applets" with the proper type (71) 
+FAIL Document interface: new Document() must inherit property "clear" with the proper type (72) assert_inherits: property "clear" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "captureEvents" with the proper type (73) assert_inherits: property "captureEvents" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "releaseEvents" with the proper type (74) assert_inherits: property "releaseEvents" not found in prototype chain
+FAIL Document interface: new Document() must inherit property "all" with the proper type (75) assert_inherits: property "all" not found in prototype chain
+PASS Document interface: new Document() must inherit property "onabort" with the proper type (85) 
+PASS Document interface: new Document() must inherit property "onauxclick" with the proper type (86) 
+PASS Document interface: new Document() must inherit property "onblur" with the proper type (87) 
+PASS Document interface: new Document() must inherit property "oncancel" with the proper type (88) 
+PASS Document interface: new Document() must inherit property "oncanplay" with the proper type (89) 
+PASS Document interface: new Document() must inherit property "oncanplaythrough" with the proper type (90) 
+PASS Document interface: new Document() must inherit property "onchange" with the proper type (91) 
+PASS Document interface: new Document() must inherit property "onclick" with the proper type (92) 
+PASS Document interface: new Document() must inherit property "onclose" with the proper type (93) 
+PASS Document interface: new Document() must inherit property "oncontextmenu" with the proper type (94) 
+PASS Document interface: new Document() must inherit property "oncuechange" with the proper type (95) 
+PASS Document interface: new Document() must inherit property "ondblclick" with the proper type (96) 
+PASS Document interface: new Document() must inherit property "ondrag" with the proper type (97) 
+PASS Document interface: new Document() must inherit property "ondragend" with the proper type (98) 
+PASS Document interface: new Document() must inherit property "ondragenter" with the proper type (99) 
+FAIL Document interface: new Document() must inherit property "ondragexit" with the proper type (100) assert_inherits: property "ondragexit" not found in prototype chain
+PASS Document interface: new Document() must inherit property "ondragleave" with the proper type (101) 
+PASS Document interface: new Document() must inherit property "ondragover" with the proper type (102) 
+PASS Document interface: new Document() must inherit property "ondragstart" with the proper type (103) 
+PASS Document interface: new Document() must inherit property "ondrop" with the proper type (104) 
+PASS Document interface: new Document() must inherit property "ondurationchange" with the proper type (105) 
+PASS Document interface: new Document() must inherit property "onemptied" with the proper type (106) 
+PASS Document interface: new Document() must inherit property "onended" with the proper type (107) 
+PASS Document interface: new Document() must inherit property "onerror" with the proper type (108) 
+PASS Document interface: new Document() must inherit property "onfocus" with the proper type (109) 
+PASS Document interface: new Document() must inherit property "oninput" with the proper type (110) 
+PASS Document interface: new Document() must inherit property "oninvalid" with the proper type (111) 
+PASS Document interface: new Document() must inherit property "onkeydown" with the proper type (112) 
+PASS Document interface: new Document() must inherit property "onkeypress" with the proper type (113) 
+PASS Document interface: new Document() must inherit property "onkeyup" with the proper type (114) 
+PASS Document interface: new Document() must inherit property "onload" with the proper type (115) 
+PASS Document interface: new Document() must inherit property "onloadeddata" with the proper type (116) 
+PASS Document interface: new Document() must inherit property "onloadedmetadata" with the proper type (117) 
+FAIL Document interface: new Document() must inherit property "onloadend" with the proper type (118) assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: new Document() must inherit property "onloadstart" with the proper type (119) 
+PASS Document interface: new Document() must inherit property "onmousedown" with the proper type (120) 
+PASS Document interface: new Document() must inherit property "onmouseenter" with the proper type (121) 
+PASS Document interface: new Document() must inherit property "onmouseleave" with the proper type (122) 
+PASS Document interface: new Document() must inherit property "onmousemove" with the proper type (123) 
+PASS Document interface: new Document() must inherit property "onmouseout" with the proper type (124) 
+PASS Document interface: new Document() must inherit property "onmouseover" with the proper type (125) 
+PASS Document interface: new Document() must inherit property "onmouseup" with the proper type (126) 
+PASS Document interface: new Document() must inherit property "onwheel" with the proper type (127) 
+PASS Document interface: new Document() must inherit property "onpause" with the proper type (128) 
+PASS Document interface: new Document() must inherit property "onplay" with the proper type (129) 
+PASS Document interface: new Document() must inherit property "onplaying" with the proper type (130) 
+PASS Document interface: new Document() must inherit property "onprogress" with the proper type (131) 
+PASS Document interface: new Document() must inherit property "onratechange" with the proper type (132) 
+PASS Document interface: new Document() must inherit property "onreset" with the proper type (133) 
+PASS Document interface: new Document() must inherit property "onresize" with the proper type (134) 
+PASS Document interface: new Document() must inherit property "onscroll" with the proper type (135) 
+PASS Document interface: new Document() must inherit property "onseeked" with the proper type (136) 
+PASS Document interface: new Document() must inherit property "onseeking" with the proper type (137) 
+PASS Document interface: new Document() must inherit property "onselect" with the proper type (138) 
+PASS Document interface: new Document() must inherit property "onstalled" with the proper type (139) 
+PASS Document interface: new Document() must inherit property "onsubmit" with the proper type (140) 
+PASS Document interface: new Document() must inherit property "onsuspend" with the proper type (141) 
+PASS Document interface: new Document() must inherit property "ontimeupdate" with the proper type (142) 
+PASS Document interface: new Document() must inherit property "ontoggle" with the proper type (143) 
+PASS Document interface: new Document() must inherit property "onvolumechange" with the proper type (144) 
+PASS Document interface: new Document() must inherit property "onwaiting" with the proper type (145) 
+PASS Document interface: new Document() must inherit property "oncopy" with the proper type (146) 
+PASS Document interface: new Document() must inherit property "oncut" with the proper type (147) 
+PASS Document interface: new Document() must inherit property "onpaste" with the proper type (148) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must have own property "location" 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "domain" with the proper type (31) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "referrer" with the proper type (32) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "cookie" with the proper type (33) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "lastModified" with the proper type (34) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "readyState" with the proper type (35) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "title" with the proper type (37) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "dir" with the proper type (38) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "body" with the proper type (39) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "head" with the proper type (40) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "images" with the proper type (41) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "embeds" with the proper type (42) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "plugins" with the proper type (43) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "links" with the proper type (44) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "forms" with the proper type (45) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "scripts" with the proper type (46) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByName" with the proper type (47) 
+PASS Document interface: calling getElementsByName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "currentScript" with the proper type (48) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (49) 
+PASS Document interface: calling open(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (50) 
+PASS Document interface: calling open(USVString,DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "close" with the proper type (51) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "write" with the proper type (52) 
+PASS Document interface: calling write(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "writeln" with the proper type (53) 
+PASS Document interface: calling writeln(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "defaultView" with the proper type (54) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "activeElement" with the proper type (55) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "hasFocus" with the proper type (56) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "designMode" with the proper type (57) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "execCommand" with the proper type (58) 
+PASS Document interface: calling execCommand(DOMString,boolean,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandEnabled" with the proper type (59) 
+PASS Document interface: calling queryCommandEnabled(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandIndeterm" with the proper type (60) 
+PASS Document interface: calling queryCommandIndeterm(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandState" with the proper type (61) 
+PASS Document interface: calling queryCommandState(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandSupported" with the proper type (62) 
+PASS Document interface: calling queryCommandSupported(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandValue" with the proper type (63) 
+PASS Document interface: calling queryCommandValue(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreadystatechange" with the proper type (64) 
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "fgColor" with the proper type (65) assert_inherits: property "fgColor" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "linkColor" with the proper type (66) assert_inherits: property "linkColor" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "vlinkColor" with the proper type (67) assert_inherits: property "vlinkColor" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "alinkColor" with the proper type (68) assert_inherits: property "alinkColor" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "bgColor" with the proper type (69) assert_inherits: property "bgColor" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "anchors" with the proper type (70) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "applets" with the proper type (71) 
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "clear" with the proper type (72) assert_inherits: property "clear" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "captureEvents" with the proper type (73) assert_inherits: property "captureEvents" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "releaseEvents" with the proper type (74) assert_inherits: property "releaseEvents" not found in prototype chain
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (75) assert_inherits: property "all" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onabort" with the proper type (85) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onauxclick" with the proper type (86) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onblur" with the proper type (87) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncancel" with the proper type (88) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncanplay" with the proper type (89) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncanplaythrough" with the proper type (90) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onchange" with the proper type (91) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclick" with the proper type (92) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclose" with the proper type (93) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncontextmenu" with the proper type (94) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (95) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondblclick" with the proper type (96) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondrag" with the proper type (97) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragend" with the proper type (98) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragenter" with the proper type (99) 
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragexit" with the proper type (100) assert_inherits: property "ondragexit" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragleave" with the proper type (101) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragover" with the proper type (102) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragstart" with the proper type (103) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondrop" with the proper type (104) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondurationchange" with the proper type (105) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onemptied" with the proper type (106) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onended" with the proper type (107) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onerror" with the proper type (108) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onfocus" with the proper type (109) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oninput" with the proper type (110) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oninvalid" with the proper type (111) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onkeydown" with the proper type (112) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onkeypress" with the proper type (113) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onkeyup" with the proper type (114) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onload" with the proper type (115) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadeddata" with the proper type (116) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadedmetadata" with the proper type (117) 
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadend" with the proper type (118) assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadstart" with the proper type (119) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousedown" with the proper type (120) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseenter" with the proper type (121) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseleave" with the proper type (122) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousemove" with the proper type (123) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseout" with the proper type (124) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseover" with the proper type (125) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseup" with the proper type (126) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onwheel" with the proper type (127) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpause" with the proper type (128) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplay" with the proper type (129) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplaying" with the proper type (130) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onprogress" with the proper type (131) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onratechange" with the proper type (132) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreset" with the proper type (133) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onresize" with the proper type (134) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onscroll" with the proper type (135) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeked" with the proper type (136) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeking" with the proper type (137) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onselect" with the proper type (138) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onstalled" with the proper type (139) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsubmit" with the proper type (140) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsuspend" with the proper type (141) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontimeupdate" with the proper type (142) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontoggle" with the proper type (143) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onvolumechange" with the proper type (144) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onwaiting" with the proper type (145) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncopy" with the proper type (146) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncut" with the proper type (147) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpaste" with the proper type (148) 
+PASS Touch interface: attribute region 
+PASS MouseEvent interface: attribute region 
+PASS HTMLAllCollection interface: existence and properties of interface object 
+PASS HTMLAllCollection interface object length 
+PASS HTMLAllCollection interface object name 
+PASS HTMLAllCollection interface: existence and properties of interface prototype object 
+PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLAllCollection interface: attribute length 
+FAIL HTMLAllCollection interface: operation item(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
+FAIL HTMLAllCollection interface: operation item(DOMString) assert_equals: property has wrong .length expected 1 but got 0
+PASS HTMLAllCollection interface: operation namedItem(DOMString) 
+FAIL HTMLAllCollection must be primary interface of document.all assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL Stringification of document.all assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "length" with the proper type (0) assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "item" with the proper type (1) assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: calling item(unsigned long) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "item" with the proper type (2) assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "namedItem" with the proper type (3) assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
+PASS HTMLFormControlsCollection interface: existence and properties of interface object 
+PASS HTMLFormControlsCollection interface object length 
+PASS HTMLFormControlsCollection interface object name 
+PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object 
+PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLFormControlsCollection interface: operation namedItem(DOMString) 
+PASS HTMLFormControlsCollection must be primary interface of document.createElement("form").elements 
+PASS Stringification of document.createElement("form").elements 
+PASS HTMLFormControlsCollection interface: document.createElement("form").elements must inherit property "namedItem" with the proper type (0) 
+PASS HTMLFormControlsCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError 
+PASS RadioNodeList interface: existence and properties of interface object 
+PASS RadioNodeList interface object length 
+PASS RadioNodeList interface object name 
+PASS RadioNodeList interface: existence and properties of interface prototype object 
+PASS RadioNodeList interface: existence and properties of interface prototype object's "constructor" property 
+PASS RadioNodeList interface: attribute value 
+PASS HTMLOptionsCollection interface: existence and properties of interface object 
+PASS HTMLOptionsCollection interface object length 
+PASS HTMLOptionsCollection interface object name 
+PASS HTMLOptionsCollection interface: existence and properties of interface prototype object 
+PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLOptionsCollection interface: attribute length 
+PASS HTMLOptionsCollection interface: operation add([object Object],[object Object],[object Object],[object Object]) 
+PASS HTMLOptionsCollection interface: operation remove(long) 
+PASS HTMLOptionsCollection interface: attribute selectedIndex 
+PASS HTMLOptionsCollection must be primary interface of document.createElement("select").options 
+PASS Stringification of document.createElement("select").options 
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "length" with the proper type (0) 
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add" with the proper type (2) 
+PASS HTMLOptionsCollection interface: calling add([object Object],[object Object],[object Object],[object Object]) on document.createElement("select").options with too few arguments must throw TypeError 
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove" with the proper type (3) 
+PASS HTMLOptionsCollection interface: calling remove(long) on document.createElement("select").options with too few arguments must throw TypeError 
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type (4) 
+PASS DOMStringMap interface: existence and properties of interface object 
+PASS DOMStringMap interface object length 
+PASS DOMStringMap interface object name 
+PASS DOMStringMap interface: existence and properties of interface prototype object 
+PASS DOMStringMap interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMStringMap must be primary interface of document.head.dataset 
+PASS Stringification of document.head.dataset 
+PASS HTMLElement interface: existence and properties of interface object 
+PASS HTMLElement interface object length 
+PASS HTMLElement interface object name 
+PASS HTMLElement interface: existence and properties of interface prototype object 
+PASS HTMLElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLElement interface: attribute title 
+PASS HTMLElement interface: attribute lang 
+PASS HTMLElement interface: attribute translate 
+PASS HTMLElement interface: attribute dir 
+PASS HTMLElement interface: attribute dataset 
+PASS HTMLElement interface: attribute hidden 
+PASS HTMLElement interface: operation click() 
+PASS HTMLElement interface: attribute tabIndex 
+PASS HTMLElement interface: operation focus() 
+PASS HTMLElement interface: operation blur() 
+PASS HTMLElement interface: attribute accessKey 
+FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false
+PASS HTMLElement interface: attribute draggable 
+PASS HTMLElement interface: attribute spellcheck 
+FAIL HTMLElement interface: operation forceSpellCheck() assert_own_property: interface prototype object missing non-static operation expected property "forceSpellCheck" missing
+PASS HTMLElement interface: attribute innerText 
+PASS HTMLElement interface: attribute onabort 
+PASS HTMLElement interface: attribute onauxclick 
+PASS HTMLElement interface: attribute onblur 
+PASS HTMLElement interface: attribute oncancel 
+PASS HTMLElement interface: attribute oncanplay 
+PASS HTMLElement interface: attribute oncanplaythrough 
+PASS HTMLElement interface: attribute onchange 
+PASS HTMLElement interface: attribute onclick 
+PASS HTMLElement interface: attribute onclose 
+PASS HTMLElement interface: attribute oncontextmenu 
+PASS HTMLElement interface: attribute oncuechange 
+PASS HTMLElement interface: attribute ondblclick 
+PASS HTMLElement interface: attribute ondrag 
+PASS HTMLElement interface: attribute ondragend 
+PASS HTMLElement interface: attribute ondragenter 
+FAIL HTMLElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false
+PASS HTMLElement interface: attribute ondragleave 
+PASS HTMLElement interface: attribute ondragover 
+PASS HTMLElement interface: attribute ondragstart 
+PASS HTMLElement interface: attribute ondrop 
+PASS HTMLElement interface: attribute ondurationchange 
+PASS HTMLElement interface: attribute onemptied 
+PASS HTMLElement interface: attribute onended 
+PASS HTMLElement interface: attribute onerror 
+PASS HTMLElement interface: attribute onfocus 
+PASS HTMLElement interface: attribute oninput 
+PASS HTMLElement interface: attribute oninvalid 
+PASS HTMLElement interface: attribute onkeydown 
+PASS HTMLElement interface: attribute onkeypress 
+PASS HTMLElement interface: attribute onkeyup 
+PASS HTMLElement interface: attribute onload 
+PASS HTMLElement interface: attribute onloadeddata 
+PASS HTMLElement interface: attribute onloadedmetadata 
+FAIL HTMLElement interface: attribute onloadend assert_true: The prototype object must have a property "onloadend" expected true got false
+PASS HTMLElement interface: attribute onloadstart 
+PASS HTMLElement interface: attribute onmousedown 
+PASS HTMLElement interface: attribute onmouseenter 
+PASS HTMLElement interface: attribute onmouseleave 
+PASS HTMLElement interface: attribute onmousemove 
+PASS HTMLElement interface: attribute onmouseout 
+PASS HTMLElement interface: attribute onmouseover 
+PASS HTMLElement interface: attribute onmouseup 
+FAIL HTMLElement interface: attribute onwheel assert_own_property: expected property "onwheel" missing
+PASS HTMLElement interface: attribute onpause 
+PASS HTMLElement interface: attribute onplay 
+PASS HTMLElement interface: attribute onplaying 
+PASS HTMLElement interface: attribute onprogress 
+PASS HTMLElement interface: attribute onratechange 
+PASS HTMLElement interface: attribute onreset 
+PASS HTMLElement interface: attribute onresize 
+PASS HTMLElement interface: attribute onscroll 
+PASS HTMLElement interface: attribute onseeked 
+PASS HTMLElement interface: attribute onseeking 
+PASS HTMLElement interface: attribute onselect 
+PASS HTMLElement interface: attribute onstalled 
+PASS HTMLElement interface: attribute onsubmit 
+PASS HTMLElement interface: attribute onsuspend 
+PASS HTMLElement interface: attribute ontimeupdate 
+PASS HTMLElement interface: attribute ontoggle 
+PASS HTMLElement interface: attribute onvolumechange 
+PASS HTMLElement interface: attribute onwaiting 
+FAIL HTMLElement interface: attribute oncopy assert_own_property: expected property "oncopy" missing
+FAIL HTMLElement interface: attribute oncut assert_own_property: expected property "oncut" missing
+FAIL HTMLElement interface: attribute onpaste assert_own_property: expected property "onpaste" missing
+PASS HTMLElement interface: attribute contentEditable 
+PASS HTMLElement interface: attribute isContentEditable 
+PASS HTMLElement must be primary interface of document.createElement("noscript") 
+PASS Stringification of document.createElement("noscript") 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "title" with the proper type (0) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "lang" with the proper type (1) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "translate" with the proper type (2) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "dir" with the proper type (3) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "dataset" with the proper type (4) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "hidden" with the proper type (5) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "click" with the proper type (6) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "tabIndex" with the proper type (7) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "focus" with the proper type (8) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "blur" with the proper type (9) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "accessKey" with the proper type (10) 
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "accessKeyLabel" with the proper type (11) assert_inherits: property "accessKeyLabel" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "draggable" with the proper type (12) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "spellcheck" with the proper type (13) 
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "forceSpellCheck" with the proper type (14) assert_inherits: property "forceSpellCheck" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "innerText" with the proper type (15) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onabort" with the proper type (16) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onauxclick" with the proper type (17) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onblur" with the proper type (18) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type (19) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplay" with the proper type (20) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplaythrough" with the proper type (21) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onchange" with the proper type (22) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclick" with the proper type (23) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type (24) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncontextmenu" with the proper type (25) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type (26) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondblclick" with the proper type (27) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrag" with the proper type (28) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragend" with the proper type (29) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragenter" with the proper type (30) 
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "ondragexit" with the proper type (31) assert_inherits: property "ondragexit" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragleave" with the proper type (32) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragover" with the proper type (33) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragstart" with the proper type (34) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrop" with the proper type (35) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondurationchange" with the proper type (36) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onemptied" with the proper type (37) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onended" with the proper type (38) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onerror" with the proper type (39) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onfocus" with the proper type (40) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninput" with the proper type (41) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninvalid" with the proper type (42) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeydown" with the proper type (43) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeypress" with the proper type (44) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeyup" with the proper type (45) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onload" with the proper type (46) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadeddata" with the proper type (47) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadedmetadata" with the proper type (48) 
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "onloadend" with the proper type (49) assert_inherits: property "onloadend" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadstart" with the proper type (50) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousedown" with the proper type (51) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseenter" with the proper type (52) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseleave" with the proper type (53) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousemove" with the proper type (54) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseout" with the proper type (55) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseover" with the proper type (56) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseup" with the proper type (57) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwheel" with the proper type (58) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpause" with the proper type (59) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplay" with the proper type (60) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplaying" with the proper type (61) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onprogress" with the proper type (62) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onratechange" with the proper type (63) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onreset" with the proper type (64) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onresize" with the proper type (65) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onscroll" with the proper type (66) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeked" with the proper type (67) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeking" with the proper type (68) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onselect" with the proper type (69) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onstalled" with the proper type (70) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsubmit" with the proper type (71) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsuspend" with the proper type (72) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontimeupdate" with the proper type (73) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontoggle" with the proper type (74) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onvolumechange" with the proper type (75) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwaiting" with the proper type (76) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncopy" with the proper type (77) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncut" with the proper type (78) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpaste" with the proper type (79) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "contentEditable" with the proper type (80) 
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "isContentEditable" with the proper type (81) 
+PASS HTMLUnknownElement interface: existence and properties of interface object 
+PASS HTMLUnknownElement interface object length 
+PASS HTMLUnknownElement interface object name 
+PASS HTMLUnknownElement interface: existence and properties of interface prototype object 
+PASS HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLUnknownElement must be primary interface of document.createElement("bgsound") 
+PASS Stringification of document.createElement("bgsound") 
+PASS HTMLHtmlElement interface: existence and properties of interface object 
+PASS HTMLHtmlElement interface object length 
+PASS HTMLHtmlElement interface object name 
+PASS HTMLHtmlElement interface: existence and properties of interface prototype object 
+PASS HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLHtmlElement interface: attribute version 
+PASS HTMLHtmlElement must be primary interface of document.createElement("html") 
+PASS Stringification of document.createElement("html") 
+PASS HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type (0) 
+PASS HTMLHeadElement interface: existence and properties of interface object 
+PASS HTMLHeadElement interface object length 
+PASS HTMLHeadElement interface object name 
+PASS HTMLHeadElement interface: existence and properties of interface prototype object 
+PASS HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLHeadElement must be primary interface of document.createElement("head") 
+PASS Stringification of document.createElement("head") 
+PASS HTMLTitleElement interface: existence and properties of interface object 
+PASS HTMLTitleElement interface object length 
+PASS HTMLTitleElement interface object name 
+PASS HTMLTitleElement interface: existence and properties of interface prototype object 
+PASS HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTitleElement interface: attribute text 
+PASS HTMLTitleElement must be primary interface of document.createElement("title") 
+PASS Stringification of document.createElement("title") 
+PASS HTMLTitleElement interface: document.createElement("title") must inherit property "text" with the proper type (0) 
+PASS HTMLBaseElement interface: existence and properties of interface object 
+PASS HTMLBaseElement interface object length 
+PASS HTMLBaseElement interface object name 
+PASS HTMLBaseElement interface: existence and properties of interface prototype object 
+PASS HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLBaseElement interface: attribute href 
+PASS HTMLBaseElement interface: attribute target 
+PASS HTMLBaseElement must be primary interface of document.createElement("base") 
+PASS Stringification of document.createElement("base") 
+PASS HTMLBaseElement interface: document.createElement("base") must inherit property "href" with the proper type (0) 
+PASS HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type (1) 
+PASS HTMLLinkElement interface: existence and properties of interface object 
+PASS HTMLLinkElement interface object length 
+PASS HTMLLinkElement interface object name 
+PASS HTMLLinkElement interface: existence and properties of interface prototype object 
+PASS HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLLinkElement interface: attribute href 
+PASS HTMLLinkElement interface: attribute crossOrigin 
+PASS HTMLLinkElement interface: attribute rel 
+PASS HTMLLinkElement interface: attribute as 
+PASS HTMLLinkElement interface: attribute relList 
+PASS HTMLLinkElement interface: attribute media 
+FAIL HTMLLinkElement interface: attribute nonce assert_own_property: expected property "nonce" missing
+PASS HTMLLinkElement interface: attribute integrity 
+PASS HTMLLinkElement interface: attribute hreflang 
+PASS HTMLLinkElement interface: attribute type 
+PASS HTMLLinkElement interface: attribute sizes 
+PASS HTMLLinkElement interface: attribute referrerPolicy 
+PASS HTMLLinkElement interface: attribute charset 
+PASS HTMLLinkElement interface: attribute rev 
+PASS HTMLLinkElement interface: attribute target 
+PASS HTMLLinkElement must be primary interface of document.createElement("link") 
+PASS Stringification of document.createElement("link") 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "href" with the proper type (0) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "crossOrigin" with the proper type (1) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rel" with the proper type (2) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "as" with the proper type (3) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "relList" with the proper type (4) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "media" with the proper type (5) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "nonce" with the proper type (6) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "integrity" with the proper type (7) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "hreflang" with the proper type (8) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "type" with the proper type (9) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "sizes" with the proper type (10) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "referrerPolicy" with the proper type (11) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "charset" with the proper type (12) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rev" with the proper type (13) 
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "target" with the proper type (14) 
+PASS HTMLMetaElement interface: existence and properties of interface object 
+PASS HTMLMetaElement interface object length 
+PASS HTMLMetaElement interface object name 
+PASS HTMLMetaElement interface: existence and properties of interface prototype object 
+PASS HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLMetaElement interface: attribute name 
+PASS HTMLMetaElement interface: attribute httpEquiv 
+PASS HTMLMetaElement interface: attribute content 
+PASS HTMLMetaElement interface: attribute scheme 
+PASS HTMLMetaElement must be primary interface of document.createElement("meta") 
+PASS Stringification of document.createElement("meta") 
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "name" with the proper type (0) 
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "httpEquiv" with the proper type (1) 
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "content" with the proper type (2) 
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type (3) 
+PASS HTMLStyleElement interface: existence and properties of interface object 
+PASS HTMLStyleElement interface object length 
+PASS HTMLStyleElement interface object name 
+PASS HTMLStyleElement interface: existence and properties of interface prototype object 
+PASS HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLStyleElement interface: attribute media 
+FAIL HTMLStyleElement interface: attribute nonce assert_own_property: expected property "nonce" missing
+PASS HTMLStyleElement interface: attribute type 
+PASS HTMLStyleElement must be primary interface of document.createElement("style") 
+PASS Stringification of document.createElement("style") 
+PASS HTMLStyleElement interface: document.createElement("style") must inherit property "media" with the proper type (0) 
+PASS HTMLStyleElement interface: document.createElement("style") must inherit property "nonce" with the proper type (1) 
+PASS HTMLStyleElement interface: document.createElement("style") must inherit property "type" with the proper type (2) 
+PASS HTMLBodyElement interface: existence and properties of interface object 
+PASS HTMLBodyElement interface object length 
+PASS HTMLBodyElement interface object name 
+PASS HTMLBodyElement interface: existence and properties of interface prototype object 
+PASS HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLBodyElement interface: attribute text 
+PASS HTMLBodyElement interface: attribute link 
+PASS HTMLBodyElement interface: attribute vLink 
+PASS HTMLBodyElement interface: attribute aLink 
+PASS HTMLBodyElement interface: attribute bgColor 
+PASS HTMLBodyElement interface: attribute background 
+FAIL HTMLBodyElement interface: attribute onafterprint assert_true: The prototype object must have a property "onafterprint" expected true got false
+FAIL HTMLBodyElement interface: attribute onbeforeprint assert_true: The prototype object must have a property "onbeforeprint" expected true got false
+PASS HTMLBodyElement interface: attribute onbeforeunload 
+PASS HTMLBodyElement interface: attribute onhashchange 
+PASS HTMLBodyElement interface: attribute onlanguagechange 
+PASS HTMLBodyElement interface: attribute onmessage 
+PASS HTMLBodyElement interface: attribute onmessageerror 
+PASS HTMLBodyElement interface: attribute onoffline 
+PASS HTMLBodyElement interface: attribute ononline 
+PASS HTMLBodyElement interface: attribute onpagehide 
+PASS HTMLBodyElement interface: attribute onpageshow 
+PASS HTMLBodyElement interface: attribute onpopstate 
+PASS HTMLBodyElement interface: attribute onrejectionhandled 
+PASS HTMLBodyElement interface: attribute onstorage 
+PASS HTMLBodyElement interface: attribute onunhandledrejection 
+PASS HTMLBodyElement interface: attribute onunload 
+PASS HTMLBodyElement must be primary interface of document.createElement("body") 
+PASS Stringification of document.createElement("body") 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "text" with the proper type (0) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "link" with the proper type (1) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "vLink" with the proper type (2) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "aLink" with the proper type (3) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "bgColor" with the proper type (4) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "background" with the proper type (5) 
+FAIL HTMLBodyElement interface: document.createElement("body") must inherit property "onafterprint" with the proper type (6) assert_inherits: property "onafterprint" not found in prototype chain
+FAIL HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeprint" with the proper type (7) assert_inherits: property "onbeforeprint" not found in prototype chain
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeunload" with the proper type (8) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onhashchange" with the proper type (9) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onlanguagechange" with the proper type (10) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessage" with the proper type (11) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessageerror" with the proper type (12) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onoffline" with the proper type (13) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "ononline" with the proper type (14) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpagehide" with the proper type (15) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpageshow" with the proper type (16) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type (17) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onrejectionhandled" with the proper type (18) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onstorage" with the proper type (19) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunhandledrejection" with the proper type (20) 
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunload" with the proper type (21) 
+PASS HTMLHeadingElement interface: existence and properties of interface object 
+PASS HTMLHeadingElement interface object length 
+PASS HTMLHeadingElement interface object name 
+PASS HTMLHeadingElement interface: existence and properties of interface prototype object 
+PASS HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLHeadingElement interface: attribute align 
+PASS HTMLHeadingElement must be primary interface of document.createElement("h1") 
+PASS Stringification of document.createElement("h1") 
+PASS HTMLHeadingElement interface: document.createElement("h1") must inherit property "align" with the proper type (0) 
+PASS HTMLParagraphElement interface: existence and properties of interface object 
+PASS HTMLParagraphElement interface object length 
+PASS HTMLParagraphElement interface object name 
+PASS HTMLParagraphElement interface: existence and properties of interface prototype object 
+PASS HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLParagraphElement interface: attribute align 
+PASS HTMLParagraphElement must be primary interface of document.createElement("p") 
+PASS Stringification of document.createElement("p") 
+PASS HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type (0) 
+PASS HTMLHRElement interface: existence and properties of interface object 
+PASS HTMLHRElement interface object length 
+PASS HTMLHRElement interface object name 
+PASS HTMLHRElement interface: existence and properties of interface prototype object 
+PASS HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLHRElement interface: attribute align 
+PASS HTMLHRElement interface: attribute color 
+PASS HTMLHRElement interface: attribute noShade 
+PASS HTMLHRElement interface: attribute size 
+PASS HTMLHRElement interface: attribute width 
+PASS HTMLHRElement must be primary interface of document.createElement("hr") 
+PASS Stringification of document.createElement("hr") 
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "align" with the proper type (0) 
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "color" with the proper type (1) 
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "noShade" with the proper type (2) 
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type (3) 
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "width" with the proper type (4) 
+PASS HTMLPreElement interface: existence and properties of interface object 
+PASS HTMLPreElement interface object length 
+PASS HTMLPreElement interface object name 
+PASS HTMLPreElement interface: existence and properties of interface prototype object 
+PASS HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLPreElement interface: attribute width 
+PASS HTMLPreElement must be primary interface of document.createElement("pre") 
+PASS Stringification of document.createElement("pre") 
+PASS HTMLPreElement interface: document.createElement("pre") must inherit property "width" with the proper type (0) 
+PASS HTMLPreElement must be primary interface of document.createElement("listing") 
+PASS Stringification of document.createElement("listing") 
+PASS HTMLPreElement interface: document.createElement("listing") must inherit property "width" with the proper type (0) 
+PASS HTMLPreElement must be primary interface of document.createElement("xmp") 
+PASS Stringification of document.createElement("xmp") 
+PASS HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type (0) 
+PASS HTMLQuoteElement interface: existence and properties of interface object 
+PASS HTMLQuoteElement interface object length 
+PASS HTMLQuoteElement interface object name 
+PASS HTMLQuoteElement interface: existence and properties of interface prototype object 
+PASS HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLQuoteElement interface: attribute cite 
+PASS HTMLQuoteElement must be primary interface of document.createElement("blockquote") 
+PASS Stringification of document.createElement("blockquote") 
+PASS HTMLQuoteElement interface: document.createElement("blockquote") must inherit property "cite" with the proper type (0) 
+PASS HTMLQuoteElement must be primary interface of document.createElement("q") 
+PASS Stringification of document.createElement("q") 
+PASS HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type (0) 
+PASS HTMLOListElement interface: existence and properties of interface object 
+PASS HTMLOListElement interface object length 
+PASS HTMLOListElement interface object name 
+PASS HTMLOListElement interface: existence and properties of interface prototype object 
+PASS HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLOListElement interface: attribute reversed 
+PASS HTMLOListElement interface: attribute start 
+PASS HTMLOListElement interface: attribute type 
+PASS HTMLOListElement interface: attribute compact 
+PASS HTMLUListElement interface: existence and properties of interface object 
+PASS HTMLUListElement interface object length 
+PASS HTMLUListElement interface object name 
+PASS HTMLUListElement interface: existence and properties of interface prototype object 
+PASS HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLUListElement interface: attribute compact 
+PASS HTMLUListElement interface: attribute type 
+PASS HTMLLIElement interface: existence and properties of interface object 
+PASS HTMLLIElement interface object length 
+PASS HTMLLIElement interface object name 
+PASS HTMLLIElement interface: existence and properties of interface prototype object 
+PASS HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLLIElement interface: attribute value 
+PASS HTMLLIElement interface: attribute type 
+PASS HTMLLIElement must be primary interface of document.createElement("li") 
+PASS Stringification of document.createElement("li") 
+PASS HTMLLIElement interface: document.createElement("li") must inherit property "value" with the proper type (0) 
+PASS HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type (1) 
+PASS HTMLDListElement interface: existence and properties of interface object 
+PASS HTMLDListElement interface object length 
+PASS HTMLDListElement interface object name 
+PASS HTMLDListElement interface: existence and properties of interface prototype object 
+PASS HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLDListElement interface: attribute compact 
+PASS HTMLDivElement interface: existence and properties of interface object 
+PASS HTMLDivElement interface object length 
+PASS HTMLDivElement interface object name 
+PASS HTMLDivElement interface: existence and properties of interface prototype object 
+PASS HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLDivElement interface: attribute align 
+PASS HTMLDivElement must be primary interface of document.createElement("div") 
+PASS Stringification of document.createElement("div") 
+PASS HTMLDivElement interface: document.createElement("div") must inherit property "align" with the proper type (0) 
+PASS HTMLAnchorElement interface: existence and properties of interface object 
+PASS HTMLAnchorElement interface object length 
+PASS HTMLAnchorElement interface object name 
+PASS HTMLAnchorElement interface: existence and properties of interface prototype object 
+PASS HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLAnchorElement interface: attribute target 
+PASS HTMLAnchorElement interface: attribute download 
+PASS HTMLAnchorElement interface: attribute ping 
+PASS HTMLAnchorElement interface: attribute rel 
+FAIL HTMLAnchorElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false
+PASS HTMLAnchorElement interface: attribute hreflang 
+PASS HTMLAnchorElement interface: attribute type 
+PASS HTMLAnchorElement interface: attribute text 
+PASS HTMLAnchorElement interface: attribute referrerPolicy 
+PASS HTMLAnchorElement interface: attribute coords 
+PASS HTMLAnchorElement interface: attribute charset 
+PASS HTMLAnchorElement interface: attribute name 
+PASS HTMLAnchorElement interface: attribute rev 
+PASS HTMLAnchorElement interface: attribute shape 
+PASS HTMLAnchorElement interface: attribute href 
+PASS HTMLAnchorElement interface: stringifier 
+PASS HTMLAnchorElement interface: attribute origin 
+PASS HTMLAnchorElement interface: attribute protocol 
+PASS HTMLAnchorElement interface: attribute username 
+PASS HTMLAnchorElement interface: attribute password 
+PASS HTMLAnchorElement interface: attribute host 
+PASS HTMLAnchorElement interface: attribute hostname 
+PASS HTMLAnchorElement interface: attribute port 
+PASS HTMLAnchorElement interface: attribute pathname 
+PASS HTMLAnchorElement interface: attribute search 
+PASS HTMLAnchorElement interface: attribute hash 
+PASS HTMLAnchorElement must be primary interface of document.createElement("a") 
+PASS Stringification of document.createElement("a") 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "target" with the proper type (0) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "download" with the proper type (1) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "ping" with the proper type (2) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rel" with the proper type (3) 
+FAIL HTMLAnchorElement interface: document.createElement("a") must inherit property "relList" with the proper type (4) assert_inherits: property "relList" not found in prototype chain
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hreflang" with the proper type (5) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "type" with the proper type (6) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "text" with the proper type (7) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "referrerPolicy" with the proper type (8) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "coords" with the proper type (9) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type (10) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "name" with the proper type (11) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rev" with the proper type (12) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "shape" with the proper type (13) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "href" with the proper type (14) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "origin" with the proper type (15) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "protocol" with the proper type (16) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "username" with the proper type (17) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "password" with the proper type (18) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "host" with the proper type (19) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hostname" with the proper type (20) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "port" with the proper type (21) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "pathname" with the proper type (22) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "search" with the proper type (23) 
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hash" with the proper type (24) 
+FAIL HTMLDataElement interface: existence and properties of interface object assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL HTMLDataElement interface object length assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL HTMLDataElement interface object name assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL HTMLDataElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL HTMLDataElement interface: attribute value assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL HTMLDataElement must be primary interface of document.createElement("data") assert_own_property: self does not have own property "HTMLDataElement" expected property "HTMLDataElement" missing
+FAIL Stringification of document.createElement("data") assert_equals: class string of document.createElement("data") expected "[object HTMLDataElement]" but got "[object HTMLUnknownElement]"
+FAIL HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type (0) assert_inherits: property "value" not found in prototype chain
+FAIL HTMLTimeElement interface: existence and properties of interface object assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL HTMLTimeElement interface object length assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL HTMLTimeElement interface object name assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL HTMLTimeElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL HTMLTimeElement interface: attribute dateTime assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL HTMLTimeElement must be primary interface of document.createElement("time") assert_own_property: self does not have own property "HTMLTimeElement" expected property "HTMLTimeElement" missing
+FAIL Stringification of document.createElement("time") assert_equals: class string of document.createElement("time") expected "[object HTMLTimeElement]" but got "[object HTMLUnknownElement]"
+FAIL HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type (0) assert_inherits: property "dateTime" not found in prototype chain
+PASS HTMLSpanElement interface: existence and properties of interface object 
+PASS HTMLSpanElement interface object length 
+PASS HTMLSpanElement interface object name 
+PASS HTMLSpanElement interface: existence and properties of interface prototype object 
+PASS HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLSpanElement must be primary interface of document.createElement("span") 
+PASS Stringification of document.createElement("span") 
+PASS HTMLBRElement interface: existence and properties of interface object 
+PASS HTMLBRElement interface object length 
+PASS HTMLBRElement interface object name 
+PASS HTMLBRElement interface: existence and properties of interface prototype object 
+PASS HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLBRElement interface: attribute clear 
+PASS HTMLBRElement must be primary interface of document.createElement("br") 
+PASS Stringification of document.createElement("br") 
+PASS HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type (0) 
+PASS HTMLModElement interface: existence and properties of interface object 
+PASS HTMLModElement interface object length 
+PASS HTMLModElement interface object name 
+PASS HTMLModElement interface: existence and properties of interface prototype object 
+PASS HTMLModElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLModElement interface: attribute cite 
+PASS HTMLModElement interface: attribute dateTime 
+PASS HTMLModElement must be primary interface of document.createElement("ins") 
+PASS Stringification of document.createElement("ins") 
+PASS HTMLModElement interface: document.createElement("ins") must inherit property "cite" with the proper type (0) 
+PASS HTMLModElement interface: document.createElement("ins") must inherit property "dateTime" with the proper type (1) 
+PASS HTMLModElement must be primary interface of document.createElement("del") 
+PASS Stringification of document.createElement("del") 
+PASS HTMLModElement interface: document.createElement("del") must inherit property "cite" with the proper type (0) 
+PASS HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type (1) 
+PASS HTMLPictureElement interface: existence and properties of interface object 
+PASS HTMLPictureElement interface object length 
+PASS HTMLPictureElement interface object name 
+PASS HTMLPictureElement interface: existence and properties of interface prototype object 
+PASS HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLPictureElement must be primary interface of document.createElement("picture") 
+PASS Stringification of document.createElement("picture") 
+PASS HTMLImageElement interface: existence and properties of interface object 
+PASS HTMLImageElement interface object length 
+PASS HTMLImageElement interface object name 
+PASS HTMLImageElement interface: existence and properties of interface prototype object 
+PASS HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLImageElement interface: attribute alt 
+PASS HTMLImageElement interface: attribute src 
+PASS HTMLImageElement interface: attribute srcset 
+PASS HTMLImageElement interface: attribute sizes 
+PASS HTMLImageElement interface: attribute crossOrigin 
+PASS HTMLImageElement interface: attribute useMap 
+PASS HTMLImageElement interface: attribute isMap 
+PASS HTMLImageElement interface: attribute width 
+PASS HTMLImageElement interface: attribute height 
+PASS HTMLImageElement interface: attribute naturalWidth 
+PASS HTMLImageElement interface: attribute naturalHeight 
+PASS HTMLImageElement interface: attribute complete 
+PASS HTMLImageElement interface: attribute currentSrc 
+PASS HTMLImageElement interface: attribute referrerPolicy 
+PASS HTMLImageElement interface: attribute name 
+PASS HTMLImageElement interface: attribute lowsrc 
+PASS HTMLImageElement interface: attribute align 
+PASS HTMLImageElement interface: attribute hspace 
+PASS HTMLImageElement interface: attribute vspace 
+PASS HTMLImageElement interface: attribute longDesc 
+PASS HTMLImageElement interface: attribute border 
+PASS HTMLImageElement must be primary interface of document.createElement("img") 
+PASS Stringification of document.createElement("img") 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "alt" with the proper type (0) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "src" with the proper type (1) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "srcset" with the proper type (2) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "sizes" with the proper type (3) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "crossOrigin" with the proper type (4) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "useMap" with the proper type (5) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "isMap" with the proper type (6) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "width" with the proper type (7) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "height" with the proper type (8) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalWidth" with the proper type (9) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalHeight" with the proper type (10) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "complete" with the proper type (11) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "currentSrc" with the proper type (12) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "referrerPolicy" with the proper type (13) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "name" with the proper type (14) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "lowsrc" with the proper type (15) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "align" with the proper type (16) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "hspace" with the proper type (17) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "vspace" with the proper type (18) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "longDesc" with the proper type (19) 
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "border" with the proper type (20) 
+PASS HTMLImageElement must be primary interface of new Image() 
+PASS Stringification of new Image() 
+PASS HTMLImageElement interface: new Image() must inherit property "alt" with the proper type (0) 
+PASS HTMLImageElement interface: new Image() must inherit property "src" with the proper type (1) 
+PASS HTMLImageElement interface: new Image() must inherit property "srcset" with the proper type (2) 
+PASS HTMLImageElement interface: new Image() must inherit property "sizes" with the proper type (3) 
+PASS HTMLImageElement interface: new Image() must inherit property "crossOrigin" with the proper type (4) 
+PASS HTMLImageElement interface: new Image() must inherit property "useMap" with the proper type (5) 
+PASS HTMLImageElement interface: new Image() must inherit property "isMap" with the proper type (6) 
+PASS HTMLImageElement interface: new Image() must inherit property "width" with the proper type (7) 
+PASS HTMLImageElement interface: new Image() must inherit property "height" with the proper type (8) 
+PASS HTMLImageElement interface: new Image() must inherit property "naturalWidth" with the proper type (9) 
+PASS HTMLImageElement interface: new Image() must inherit property "naturalHeight" with the proper type (10) 
+PASS HTMLImageElement interface: new Image() must inherit property "complete" with the proper type (11) 
+PASS HTMLImageElement interface: new Image() must inherit property "currentSrc" with the proper type (12) 
+PASS HTMLImageElement interface: new Image() must inherit property "referrerPolicy" with the proper type (13) 
+PASS HTMLImageElement interface: new Image() must inherit property "name" with the proper type (14) 
+PASS HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type (15) 
+PASS HTMLImageElement interface: new Image() must inherit property "align" with the proper type (16) 
+PASS HTMLImageElement interface: new Image() must inherit property "hspace" with the proper type (17) 
+PASS HTMLImageElement interface: new Image() must inherit property "vspace" with the proper type (18) 
+PASS HTMLImageElement interface: new Image() must inherit property "longDesc" with the proper type (19) 
+PASS HTMLImageElement interface: new Image() must inherit property "border" with the proper type (20) 
+PASS HTMLIFrameElement interface: existence and properties of interface object 
+PASS HTMLIFrameElement interface object length 
+PASS HTMLIFrameElement interface object name 
+PASS HTMLIFrameElement interface: existence and properties of interface prototype object 
+PASS HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLIFrameElement interface: attribute src 
+PASS HTMLIFrameElement interface: attribute srcdoc 
+PASS HTMLIFrameElement interface: attribute name 
+PASS HTMLIFrameElement interface: attribute sandbox 
+PASS HTMLIFrameElement interface: attribute allowFullscreen 
+FAIL HTMLIFrameElement interface: attribute allowUserMedia assert_true: The prototype object must have a property "allowUserMedia" expected true got false
+PASS HTMLIFrameElement interface: attribute allowPaymentRequest 
+PASS HTMLIFrameElement interface: attribute width 
+PASS HTMLIFrameElement interface: attribute height 
+PASS HTMLIFrameElement interface: attribute referrerPolicy 
+PASS HTMLIFrameElement interface: attribute contentDocument 
+PASS HTMLIFrameElement interface: attribute contentWindow 
+PASS HTMLIFrameElement interface: operation getSVGDocument() 
+PASS HTMLIFrameElement interface: attribute align 
+PASS HTMLIFrameElement interface: attribute scrolling 
+PASS HTMLIFrameElement interface: attribute frameBorder 
+PASS HTMLIFrameElement interface: attribute longDesc 
+PASS HTMLIFrameElement interface: attribute marginHeight 
+PASS HTMLIFrameElement interface: attribute marginWidth 
+PASS HTMLEmbedElement interface: existence and properties of interface object 
+PASS HTMLEmbedElement interface object length 
+PASS HTMLEmbedElement interface object name 
+PASS HTMLEmbedElement interface: existence and properties of interface prototype object 
+PASS HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLEmbedElement interface: attribute src 
+PASS HTMLEmbedElement interface: attribute type 
+PASS HTMLEmbedElement interface: attribute width 
+PASS HTMLEmbedElement interface: attribute height 
+PASS HTMLEmbedElement interface: operation getSVGDocument() 
+PASS HTMLEmbedElement interface: attribute align 
+PASS HTMLEmbedElement interface: attribute name 
+PASS HTMLEmbedElement must be primary interface of document.createElement("embed") 
+PASS Stringification of document.createElement("embed") 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "src" with the proper type (0) 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "type" with the proper type (1) 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "width" with the proper type (2) 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "height" with the proper type (3) 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "getSVGDocument" with the proper type (4) 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "align" with the proper type (5) 
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type (6) 
+PASS HTMLObjectElement interface: existence and properties of interface object 
+PASS HTMLObjectElement interface object length 
+PASS HTMLObjectElement interface object name 
+PASS HTMLObjectElement interface: existence and properties of interface prototype object 
+PASS HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLObjectElement interface: attribute data 
+PASS HTMLObjectElement interface: attribute type 
+FAIL HTMLObjectElement interface: attribute typeMustMatch assert_true: The prototype object must have a property "typeMustMatch" expected true got false
+PASS HTMLObjectElement interface: attribute name 
+PASS HTMLObjectElement interface: attribute useMap 
+PASS HTMLObjectElement interface: attribute form 
+PASS HTMLObjectElement interface: attribute width 
+PASS HTMLObjectElement interface: attribute height 
+PASS HTMLObjectElement interface: attribute contentDocument 
+PASS HTMLObjectElement interface: attribute contentWindow 
+PASS HTMLObjectElement interface: attribute willValidate 
+PASS HTMLObjectElement interface: attribute validity 
+PASS HTMLObjectElement interface: attribute validationMessage 
+PASS HTMLObjectElement interface: operation checkValidity() 
+PASS HTMLObjectElement interface: operation reportValidity() 
+PASS HTMLObjectElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLObjectElement interface: attribute align 
+PASS HTMLObjectElement interface: attribute archive 
+PASS HTMLObjectElement interface: attribute code 
+PASS HTMLObjectElement interface: attribute declare 
+PASS HTMLObjectElement interface: attribute hspace 
+PASS HTMLObjectElement interface: attribute standby 
+PASS HTMLObjectElement interface: attribute vspace 
+PASS HTMLObjectElement interface: attribute codeBase 
+PASS HTMLObjectElement interface: attribute codeType 
+PASS HTMLObjectElement interface: attribute border 
+PASS HTMLObjectElement must be primary interface of document.createElement("object") 
+PASS Stringification of document.createElement("object") 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "data" with the proper type (0) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "type" with the proper type (1) 
+FAIL HTMLObjectElement interface: document.createElement("object") must inherit property "typeMustMatch" with the proper type (2) assert_inherits: property "typeMustMatch" not found in prototype chain
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "name" with the proper type (3) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "useMap" with the proper type (4) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "form" with the proper type (5) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "width" with the proper type (6) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "height" with the proper type (7) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentDocument" with the proper type (8) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type (9) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "willValidate" with the proper type (10) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validity" with the proper type (11) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validationMessage" with the proper type (12) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "checkValidity" with the proper type (13) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "reportValidity" with the proper type (14) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "setCustomValidity" with the proper type (15) 
+PASS HTMLObjectElement interface: calling setCustomValidity(DOMString) on document.createElement("object") with too few arguments must throw TypeError 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "align" with the proper type (16) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "archive" with the proper type (17) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "code" with the proper type (18) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "declare" with the proper type (19) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "hspace" with the proper type (20) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "standby" with the proper type (21) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "vspace" with the proper type (22) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeBase" with the proper type (23) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeType" with the proper type (24) 
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type (25) 
+PASS HTMLParamElement interface: existence and properties of interface object 
+PASS HTMLParamElement interface object length 
+PASS HTMLParamElement interface object name 
+PASS HTMLParamElement interface: existence and properties of interface prototype object 
+PASS HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLParamElement interface: attribute name 
+PASS HTMLParamElement interface: attribute value 
+PASS HTMLParamElement interface: attribute type 
+PASS HTMLParamElement interface: attribute valueType 
+PASS HTMLParamElement must be primary interface of document.createElement("param") 
+PASS Stringification of document.createElement("param") 
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "name" with the proper type (0) 
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "value" with the proper type (1) 
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "type" with the proper type (2) 
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type (3) 
+PASS HTMLVideoElement interface: existence and properties of interface object 
+PASS HTMLVideoElement interface object length 
+PASS HTMLVideoElement interface object name 
+PASS HTMLVideoElement interface: existence and properties of interface prototype object 
+PASS HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLVideoElement interface: attribute width 
+PASS HTMLVideoElement interface: attribute height 
+PASS HTMLVideoElement interface: attribute videoWidth 
+PASS HTMLVideoElement interface: attribute videoHeight 
+PASS HTMLVideoElement interface: attribute poster 
+PASS HTMLVideoElement must be primary interface of document.createElement("video") 
+PASS Stringification of document.createElement("video") 
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "width" with the proper type (0) 
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "height" with the proper type (1) 
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoWidth" with the proper type (2) 
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoHeight" with the proper type (3) 
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "poster" with the proper type (4) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "error" with the proper type (0) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "src" with the proper type (1) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentSrc" with the proper type (2) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "crossOrigin" with the proper type (3) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_EMPTY" with the proper type (4) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_IDLE" with the proper type (5) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_LOADING" with the proper type (6) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_NO_SOURCE" with the proper type (7) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "networkState" with the proper type (8) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "preload" with the proper type (9) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "buffered" with the proper type (10) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "load" with the proper type (11) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "canPlayType" with the proper type (12) 
+PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("video") with too few arguments must throw TypeError 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_NOTHING" with the proper type (13) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_METADATA" with the proper type (14) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_CURRENT_DATA" with the proper type (15) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_FUTURE_DATA" with the proper type (16) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_ENOUGH_DATA" with the proper type (17) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "readyState" with the proper type (18) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seeking" with the proper type (19) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentTime" with the proper type (20) 
+FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "fastSeek" with the proper type (21) assert_inherits: property "fastSeek" not found in prototype chain
+FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("video") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "duration" with the proper type (22) 
+FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "getStartDate" with the proper type (23) assert_inherits: property "getStartDate" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "paused" with the proper type (24) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultPlaybackRate" with the proper type (25) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "playbackRate" with the proper type (26) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "played" with the proper type (27) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seekable" with the proper type (28) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "ended" with the proper type (29) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "autoplay" with the proper type (30) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type (31) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "play" with the proper type (32) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "pause" with the proper type (33) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type (34) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "volume" with the proper type (35) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "muted" with the proper type (36) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultMuted" with the proper type (37) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "audioTracks" with the proper type (38) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "videoTracks" with the proper type (39) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "textTracks" with the proper type (40) 
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "addTextTrack" with the proper type (41) 
+PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on document.createElement("video") with too few arguments must throw TypeError 
+PASS HTMLAudioElement interface: existence and properties of interface object 
+PASS HTMLAudioElement interface object length 
+PASS HTMLAudioElement interface object name 
+PASS HTMLAudioElement interface: existence and properties of interface prototype object 
+PASS HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLAudioElement must be primary interface of document.createElement("audio") 
+PASS Stringification of document.createElement("audio") 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type (0) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "src" with the proper type (1) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentSrc" with the proper type (2) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "crossOrigin" with the proper type (3) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_EMPTY" with the proper type (4) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_IDLE" with the proper type (5) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_LOADING" with the proper type (6) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_NO_SOURCE" with the proper type (7) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "networkState" with the proper type (8) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "preload" with the proper type (9) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "buffered" with the proper type (10) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "load" with the proper type (11) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "canPlayType" with the proper type (12) 
+PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("audio") with too few arguments must throw TypeError 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_NOTHING" with the proper type (13) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_METADATA" with the proper type (14) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_CURRENT_DATA" with the proper type (15) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_FUTURE_DATA" with the proper type (16) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_ENOUGH_DATA" with the proper type (17) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "readyState" with the proper type (18) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seeking" with the proper type (19) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentTime" with the proper type (20) 
+FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "fastSeek" with the proper type (21) assert_inherits: property "fastSeek" not found in prototype chain
+FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("audio") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "duration" with the proper type (22) 
+FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "getStartDate" with the proper type (23) assert_inherits: property "getStartDate" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "paused" with the proper type (24) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultPlaybackRate" with the proper type (25) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "playbackRate" with the proper type (26) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "played" with the proper type (27) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seekable" with the proper type (28) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "ended" with the proper type (29) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "autoplay" with the proper type (30) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type (31) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "play" with the proper type (32) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "pause" with the proper type (33) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type (34) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "volume" with the proper type (35) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "muted" with the proper type (36) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultMuted" with the proper type (37) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "audioTracks" with the proper type (38) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "videoTracks" with the proper type (39) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "textTracks" with the proper type (40) 
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "addTextTrack" with the proper type (41) 
+PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on document.createElement("audio") with too few arguments must throw TypeError 
+PASS HTMLAudioElement must be primary interface of new Audio() 
+PASS Stringification of new Audio() 
+PASS HTMLMediaElement interface: new Audio() must inherit property "error" with the proper type (0) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "src" with the proper type (1) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "currentSrc" with the proper type (2) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "crossOrigin" with the proper type (3) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_EMPTY" with the proper type (4) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_IDLE" with the proper type (5) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_LOADING" with the proper type (6) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_NO_SOURCE" with the proper type (7) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "networkState" with the proper type (8) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "preload" with the proper type (9) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "buffered" with the proper type (10) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "load" with the proper type (11) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "canPlayType" with the proper type (12) 
+PASS HTMLMediaElement interface: calling canPlayType(DOMString) on new Audio() with too few arguments must throw TypeError 
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_NOTHING" with the proper type (13) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_METADATA" with the proper type (14) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_CURRENT_DATA" with the proper type (15) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_FUTURE_DATA" with the proper type (16) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_ENOUGH_DATA" with the proper type (17) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "readyState" with the proper type (18) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "seeking" with the proper type (19) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "currentTime" with the proper type (20) 
+FAIL HTMLMediaElement interface: new Audio() must inherit property "fastSeek" with the proper type (21) assert_inherits: property "fastSeek" not found in prototype chain
+FAIL HTMLMediaElement interface: calling fastSeek(double) on new Audio() with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain
+PASS HTMLMediaElement interface: new Audio() must inherit property "duration" with the proper type (22) 
+FAIL HTMLMediaElement interface: new Audio() must inherit property "getStartDate" with the proper type (23) assert_inherits: property "getStartDate" not found in prototype chain
+PASS HTMLMediaElement interface: new Audio() must inherit property "paused" with the proper type (24) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "defaultPlaybackRate" with the proper type (25) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "playbackRate" with the proper type (26) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "played" with the proper type (27) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "seekable" with the proper type (28) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "ended" with the proper type (29) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "autoplay" with the proper type (30) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type (31) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "play" with the proper type (32) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "pause" with the proper type (33) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type (34) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "volume" with the proper type (35) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "muted" with the proper type (36) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "defaultMuted" with the proper type (37) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "audioTracks" with the proper type (38) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "videoTracks" with the proper type (39) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "textTracks" with the proper type (40) 
+PASS HTMLMediaElement interface: new Audio() must inherit property "addTextTrack" with the proper type (41) 
+PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind,DOMString,DOMString) on new Audio() with too few arguments must throw TypeError 
+PASS HTMLSourceElement interface: existence and properties of interface object 
+PASS HTMLSourceElement interface object length 
+PASS HTMLSourceElement interface object name 
+PASS HTMLSourceElement interface: existence and properties of interface prototype object 
+PASS HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLSourceElement interface: attribute src 
+PASS HTMLSourceElement interface: attribute type 
+PASS HTMLSourceElement interface: attribute srcset 
+PASS HTMLSourceElement interface: attribute sizes 
+PASS HTMLSourceElement interface: attribute media 
+PASS HTMLSourceElement must be primary interface of document.createElement("source") 
+PASS Stringification of document.createElement("source") 
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "src" with the proper type (0) 
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "type" with the proper type (1) 
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "srcset" with the proper type (2) 
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "sizes" with the proper type (3) 
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type (4) 
+PASS HTMLTrackElement interface: existence and properties of interface object 
+PASS HTMLTrackElement interface object length 
+PASS HTMLTrackElement interface object name 
+PASS HTMLTrackElement interface: existence and properties of interface prototype object 
+PASS HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTrackElement interface: attribute kind 
+PASS HTMLTrackElement interface: attribute src 
+PASS HTMLTrackElement interface: attribute srclang 
+PASS HTMLTrackElement interface: attribute label 
+PASS HTMLTrackElement interface: attribute default 
+PASS HTMLTrackElement interface: constant NONE on interface object 
+PASS HTMLTrackElement interface: constant NONE on interface prototype object 
+PASS HTMLTrackElement interface: constant LOADING on interface object 
+PASS HTMLTrackElement interface: constant LOADING on interface prototype object 
+PASS HTMLTrackElement interface: constant LOADED on interface object 
+PASS HTMLTrackElement interface: constant LOADED on interface prototype object 
+PASS HTMLTrackElement interface: constant ERROR on interface object 
+PASS HTMLTrackElement interface: constant ERROR on interface prototype object 
+PASS HTMLTrackElement interface: attribute readyState 
+PASS HTMLTrackElement interface: attribute track 
+PASS HTMLTrackElement must be primary interface of document.createElement("track") 
+PASS Stringification of document.createElement("track") 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "kind" with the proper type (0) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "src" with the proper type (1) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "srclang" with the proper type (2) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "label" with the proper type (3) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "default" with the proper type (4) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "NONE" with the proper type (5) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADING" with the proper type (6) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADED" with the proper type (7) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "ERROR" with the proper type (8) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "readyState" with the proper type (9) 
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type (10) 
+PASS HTMLMediaElement interface: existence and properties of interface object 
+PASS HTMLMediaElement interface object length 
+PASS HTMLMediaElement interface object name 
+PASS HTMLMediaElement interface: existence and properties of interface prototype object 
+PASS HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLMediaElement interface: attribute error 
+PASS HTMLMediaElement interface: attribute src 
+PASS HTMLMediaElement interface: attribute currentSrc 
+PASS HTMLMediaElement interface: attribute crossOrigin 
+PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface object 
+PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface prototype object 
+PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface object 
+PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface prototype object 
+PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface object 
+PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface prototype object 
+PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface object 
+PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface prototype object 
+PASS HTMLMediaElement interface: attribute networkState 
+PASS HTMLMediaElement interface: attribute preload 
+PASS HTMLMediaElement interface: attribute buffered 
+PASS HTMLMediaElement interface: operation load() 
+PASS HTMLMediaElement interface: operation canPlayType(DOMString) 
+PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface object 
+PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface prototype object 
+PASS HTMLMediaElement interface: constant HAVE_METADATA on interface object 
+PASS HTMLMediaElement interface: constant HAVE_METADATA on interface prototype object 
+PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface object 
+PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface prototype object 
+PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface object 
+PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface prototype object 
+PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface object 
+PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface prototype object 
+PASS HTMLMediaElement interface: attribute readyState 
+PASS HTMLMediaElement interface: attribute seeking 
+PASS HTMLMediaElement interface: attribute currentTime 
+FAIL HTMLMediaElement interface: operation fastSeek(double) assert_own_property: interface prototype object missing non-static operation expected property "fastSeek" missing
+PASS HTMLMediaElement interface: attribute duration 
+FAIL HTMLMediaElement interface: operation getStartDate() assert_own_property: interface prototype object missing non-static operation expected property "getStartDate" missing
+PASS HTMLMediaElement interface: attribute paused 
+PASS HTMLMediaElement interface: attribute defaultPlaybackRate 
+PASS HTMLMediaElement interface: attribute playbackRate 
+PASS HTMLMediaElement interface: attribute played 
+PASS HTMLMediaElement interface: attribute seekable 
+PASS HTMLMediaElement interface: attribute ended 
+PASS HTMLMediaElement interface: attribute autoplay 
+PASS HTMLMediaElement interface: attribute loop 
+PASS HTMLMediaElement interface: operation play() 
+PASS HTMLMediaElement interface: operation pause() 
+PASS HTMLMediaElement interface: attribute controls 
+PASS HTMLMediaElement interface: attribute volume 
+PASS HTMLMediaElement interface: attribute muted 
+PASS HTMLMediaElement interface: attribute defaultMuted 
+PASS HTMLMediaElement interface: attribute audioTracks 
+PASS HTMLMediaElement interface: attribute videoTracks 
+PASS HTMLMediaElement interface: attribute textTracks 
+PASS HTMLMediaElement interface: operation addTextTrack(TextTrackKind,DOMString,DOMString) 
+PASS MediaError interface: existence and properties of interface object 
+PASS MediaError interface object length 
+PASS MediaError interface object name 
+PASS MediaError interface: existence and properties of interface prototype object 
+PASS MediaError interface: existence and properties of interface prototype object's "constructor" property 
+PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface object 
+PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface prototype object 
+PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface object 
+PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface prototype object 
+PASS MediaError interface: constant MEDIA_ERR_DECODE on interface object 
+PASS MediaError interface: constant MEDIA_ERR_DECODE on interface prototype object 
+PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface object 
+PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface prototype object 
+PASS MediaError interface: attribute code 
+PASS MediaError interface: attribute message 
+PASS MediaError must be primary interface of errorVideo.error 
+PASS Stringification of errorVideo.error 
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_ABORTED" with the proper type (0) 
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_NETWORK" with the proper type (1) 
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_DECODE" with the proper type (2) 
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_SRC_NOT_SUPPORTED" with the proper type (3) 
+PASS MediaError interface: errorVideo.error must inherit property "code" with the proper type (4) 
+PASS MediaError interface: errorVideo.error must inherit property "message" with the proper type (5) 
+PASS AudioTrackList interface: existence and properties of interface object 
+PASS AudioTrackList interface object length 
+PASS AudioTrackList interface object name 
+PASS AudioTrackList interface: existence and properties of interface prototype object 
+PASS AudioTrackList interface: existence and properties of interface prototype object's "constructor" property 
+PASS AudioTrackList interface: attribute length 
+PASS AudioTrackList interface: operation getTrackById(DOMString) 
+PASS AudioTrackList interface: attribute onchange 
+PASS AudioTrackList interface: attribute onaddtrack 
+PASS AudioTrackList interface: attribute onremovetrack 
+PASS AudioTrack interface: existence and properties of interface object 
+PASS AudioTrack interface object length 
+PASS AudioTrack interface object name 
+PASS AudioTrack interface: existence and properties of interface prototype object 
+PASS AudioTrack interface: existence and properties of interface prototype object's "constructor" property 
+PASS AudioTrack interface: attribute id 
+PASS AudioTrack interface: attribute kind 
+PASS AudioTrack interface: attribute label 
+PASS AudioTrack interface: attribute language 
+PASS AudioTrack interface: attribute enabled 
+PASS VideoTrackList interface: existence and properties of interface object 
+PASS VideoTrackList interface object length 
+PASS VideoTrackList interface object name 
+PASS VideoTrackList interface: existence and properties of interface prototype object 
+PASS VideoTrackList interface: existence and properties of interface prototype object's "constructor" property 
+PASS VideoTrackList interface: attribute length 
+PASS VideoTrackList interface: operation getTrackById(DOMString) 
+PASS VideoTrackList interface: attribute selectedIndex 
+PASS VideoTrackList interface: attribute onchange 
+PASS VideoTrackList interface: attribute onaddtrack 
+PASS VideoTrackList interface: attribute onremovetrack 
+PASS VideoTrack interface: existence and properties of interface object 
+PASS VideoTrack interface object length 
+PASS VideoTrack interface object name 
+PASS VideoTrack interface: existence and properties of interface prototype object 
+PASS VideoTrack interface: existence and properties of interface prototype object's "constructor" property 
+PASS VideoTrack interface: attribute id 
+PASS VideoTrack interface: attribute kind 
+PASS VideoTrack interface: attribute label 
+PASS VideoTrack interface: attribute language 
+PASS VideoTrack interface: attribute selected 
+PASS TextTrackList interface: existence and properties of interface object 
+PASS TextTrackList interface object length 
+PASS TextTrackList interface object name 
+PASS TextTrackList interface: existence and properties of interface prototype object 
+PASS TextTrackList interface: existence and properties of interface prototype object's "constructor" property 
+PASS TextTrackList interface: attribute length 
+PASS TextTrackList interface: operation getTrackById(DOMString) 
+PASS TextTrackList interface: attribute onchange 
+PASS TextTrackList interface: attribute onaddtrack 
+PASS TextTrackList interface: attribute onremovetrack 
+PASS TextTrackList must be primary interface of document.createElement("video").textTracks 
+PASS Stringification of document.createElement("video").textTracks 
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "length" with the proper type (0) 
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "getTrackById" with the proper type (2) 
+PASS TextTrackList interface: calling getTrackById(DOMString) on document.createElement("video").textTracks with too few arguments must throw TypeError 
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onchange" with the proper type (3) 
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onaddtrack" with the proper type (4) 
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onremovetrack" with the proper type (5) 
+PASS TextTrack interface: existence and properties of interface object 
+PASS TextTrack interface object length 
+PASS TextTrack interface object name 
+PASS TextTrack interface: existence and properties of interface prototype object 
+PASS TextTrack interface: existence and properties of interface prototype object's "constructor" property 
+PASS TextTrack interface: attribute kind 
+PASS TextTrack interface: attribute label 
+PASS TextTrack interface: attribute language 
+PASS TextTrack interface: attribute id 
+FAIL TextTrack interface: attribute inBandMetadataTrackDispatchType assert_true: The prototype object must have a property "inBandMetadataTrackDispatchType" expected true got false
+PASS TextTrack interface: attribute mode 
+PASS TextTrack interface: attribute cues 
+PASS TextTrack interface: attribute activeCues 
+PASS TextTrack interface: operation addCue(TextTrackCue) 
+PASS TextTrack interface: operation removeCue(TextTrackCue) 
+PASS TextTrack interface: attribute oncuechange 
+PASS TextTrack must be primary interface of document.createElement("track").track 
+PASS Stringification of document.createElement("track").track 
+PASS TextTrack interface: document.createElement("track").track must inherit property "kind" with the proper type (0) 
+PASS TextTrack interface: document.createElement("track").track must inherit property "label" with the proper type (1) 
+PASS TextTrack interface: document.createElement("track").track must inherit property "language" with the proper type (2) 
+PASS TextTrack interface: document.createElement("track").track must inherit property "id" with the proper type (3) 
+FAIL TextTrack interface: document.createElement("track").track must inherit property "inBandMetadataTrackDispatchType" with the proper type (4) assert_inherits: property "inBandMetadataTrackDispatchType" not found in prototype chain
+PASS TextTrack interface: document.createElement("track").track must inherit property "mode" with the proper type (5) 
+PASS TextTrack interface: document.createElement("track").track must inherit property "cues" with the proper type (6) 
+PASS TextTrack interface: document.createElement("track").track must inherit property "activeCues" with the proper type (7) 
+PASS TextTrack interface: document.createElement("track").track must inherit property "addCue" with the proper type (8) 
+PASS TextTrack interface: calling addCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError 
+PASS TextTrack interface: document.createElement("track").track must inherit property "removeCue" with the proper type (9) 
+PASS TextTrack interface: calling removeCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError 
+PASS TextTrack interface: document.createElement("track").track must inherit property "oncuechange" with the proper type (10) 
+PASS TextTrackCueList interface: existence and properties of interface object 
+PASS TextTrackCueList interface object length 
+PASS TextTrackCueList interface object name 
+PASS TextTrackCueList interface: existence and properties of interface prototype object 
+PASS TextTrackCueList interface: existence and properties of interface prototype object's "constructor" property 
+PASS TextTrackCueList interface: attribute length 
+PASS TextTrackCueList interface: operation getCueById(DOMString) 
+PASS TextTrackCueList must be primary interface of document.createElement("video").addTextTrack("subtitles").cues 
+PASS Stringification of document.createElement("video").addTextTrack("subtitles").cues 
+PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "length" with the proper type (0) 
+PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "getCueById" with the proper type (2) 
+PASS TextTrackCueList interface: calling getCueById(DOMString) on document.createElement("video").addTextTrack("subtitles").cues with too few arguments must throw TypeError 
+PASS TextTrackCue interface: existence and properties of interface object 
+PASS TextTrackCue interface object length 
+PASS TextTrackCue interface object name 
+PASS TextTrackCue interface: existence and properties of interface prototype object 
+PASS TextTrackCue interface: existence and properties of interface prototype object's "constructor" property 
+PASS TextTrackCue interface: attribute track 
+PASS TextTrackCue interface: attribute id 
+PASS TextTrackCue interface: attribute startTime 
+PASS TextTrackCue interface: attribute endTime 
+PASS TextTrackCue interface: attribute pauseOnExit 
+PASS TextTrackCue interface: attribute onenter 
+PASS TextTrackCue interface: attribute onexit 
+PASS TimeRanges interface: existence and properties of interface object 
+PASS TimeRanges interface object length 
+PASS TimeRanges interface object name 
+PASS TimeRanges interface: existence and properties of interface prototype object 
+PASS TimeRanges interface: existence and properties of interface prototype object's "constructor" property 
+PASS TimeRanges interface: attribute length 
+PASS TimeRanges interface: operation start(unsigned long) 
+PASS TimeRanges interface: operation end(unsigned long) 
+PASS TimeRanges must be primary interface of document.createElement("video").buffered 
+PASS Stringification of document.createElement("video").buffered 
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "length" with the proper type (0) 
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "start" with the proper type (1) 
+PASS TimeRanges interface: calling start(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError 
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "end" with the proper type (2) 
+PASS TimeRanges interface: calling end(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError 
+PASS TrackEvent interface: existence and properties of interface object 
+PASS TrackEvent interface object length 
+PASS TrackEvent interface object name 
+PASS TrackEvent interface: existence and properties of interface prototype object 
+PASS TrackEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS TrackEvent interface: attribute track 
+PASS TrackEvent must be primary interface of new TrackEvent("addtrack", {track:document.createElement("track").track}) 
+PASS Stringification of new TrackEvent("addtrack", {track:document.createElement("track").track}) 
+PASS TrackEvent interface: new TrackEvent("addtrack", {track:document.createElement("track").track}) must inherit property "track" with the proper type (0) 
+PASS HTMLMapElement interface: existence and properties of interface object 
+PASS HTMLMapElement interface object length 
+PASS HTMLMapElement interface object name 
+PASS HTMLMapElement interface: existence and properties of interface prototype object 
+PASS HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLMapElement interface: attribute name 
+PASS HTMLMapElement interface: attribute areas 
+PASS HTMLMapElement must be primary interface of document.createElement("map") 
+PASS Stringification of document.createElement("map") 
+PASS HTMLMapElement interface: document.createElement("map") must inherit property "name" with the proper type (0) 
+PASS HTMLMapElement interface: document.createElement("map") must inherit property "areas" with the proper type (1) 
+PASS HTMLAreaElement interface: existence and properties of interface object 
+PASS HTMLAreaElement interface object length 
+PASS HTMLAreaElement interface object name 
+PASS HTMLAreaElement interface: existence and properties of interface prototype object 
+PASS HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLAreaElement interface: attribute alt 
+PASS HTMLAreaElement interface: attribute coords 
+PASS HTMLAreaElement interface: attribute shape 
+PASS HTMLAreaElement interface: attribute target 
+PASS HTMLAreaElement interface: attribute download 
+PASS HTMLAreaElement interface: attribute ping 
+PASS HTMLAreaElement interface: attribute rel 
+FAIL HTMLAreaElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false
+PASS HTMLAreaElement interface: attribute referrerPolicy 
+PASS HTMLAreaElement interface: attribute noHref 
+PASS HTMLAreaElement interface: attribute href 
+PASS HTMLAreaElement interface: stringifier 
+PASS HTMLAreaElement interface: attribute origin 
+PASS HTMLAreaElement interface: attribute protocol 
+PASS HTMLAreaElement interface: attribute username 
+PASS HTMLAreaElement interface: attribute password 
+PASS HTMLAreaElement interface: attribute host 
+PASS HTMLAreaElement interface: attribute hostname 
+PASS HTMLAreaElement interface: attribute port 
+PASS HTMLAreaElement interface: attribute pathname 
+PASS HTMLAreaElement interface: attribute search 
+PASS HTMLAreaElement interface: attribute hash 
+PASS HTMLAreaElement must be primary interface of document.createElement("area") 
+PASS Stringification of document.createElement("area") 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "alt" with the proper type (0) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "coords" with the proper type (1) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "shape" with the proper type (2) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "target" with the proper type (3) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "download" with the proper type (4) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "ping" with the proper type (5) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "rel" with the proper type (6) 
+FAIL HTMLAreaElement interface: document.createElement("area") must inherit property "relList" with the proper type (7) assert_inherits: property "relList" not found in prototype chain
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "referrerPolicy" with the proper type (8) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type (9) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "href" with the proper type (10) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "origin" with the proper type (11) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "protocol" with the proper type (12) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "username" with the proper type (13) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "password" with the proper type (14) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "host" with the proper type (15) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hostname" with the proper type (16) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "port" with the proper type (17) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "pathname" with the proper type (18) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "search" with the proper type (19) 
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hash" with the proper type (20) 
+PASS HTMLTableElement interface: existence and properties of interface object 
+PASS HTMLTableElement interface object length 
+PASS HTMLTableElement interface object name 
+PASS HTMLTableElement interface: existence and properties of interface prototype object 
+PASS HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTableElement interface: attribute caption 
+PASS HTMLTableElement interface: operation createCaption() 
+PASS HTMLTableElement interface: operation deleteCaption() 
+PASS HTMLTableElement interface: attribute tHead 
+PASS HTMLTableElement interface: operation createTHead() 
+PASS HTMLTableElement interface: operation deleteTHead() 
+PASS HTMLTableElement interface: attribute tFoot 
+PASS HTMLTableElement interface: operation createTFoot() 
+PASS HTMLTableElement interface: operation deleteTFoot() 
+PASS HTMLTableElement interface: attribute tBodies 
+PASS HTMLTableElement interface: operation createTBody() 
+PASS HTMLTableElement interface: attribute rows 
+PASS HTMLTableElement interface: operation insertRow(long) 
+PASS HTMLTableElement interface: operation deleteRow(long) 
+PASS HTMLTableElement interface: attribute align 
+PASS HTMLTableElement interface: attribute border 
+PASS HTMLTableElement interface: attribute frame 
+PASS HTMLTableElement interface: attribute rules 
+PASS HTMLTableElement interface: attribute summary 
+PASS HTMLTableElement interface: attribute width 
+PASS HTMLTableElement interface: attribute bgColor 
+PASS HTMLTableElement interface: attribute cellPadding 
+PASS HTMLTableElement interface: attribute cellSpacing 
+PASS HTMLTableElement must be primary interface of document.createElement("table") 
+PASS Stringification of document.createElement("table") 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "caption" with the proper type (0) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createCaption" with the proper type (1) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteCaption" with the proper type (2) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "tHead" with the proper type (3) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTHead" with the proper type (4) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTHead" with the proper type (5) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "tFoot" with the proper type (6) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTFoot" with the proper type (7) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTFoot" with the proper type (8) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "tBodies" with the proper type (9) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTBody" with the proper type (10) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "rows" with the proper type (11) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "insertRow" with the proper type (12) 
+PASS HTMLTableElement interface: calling insertRow(long) on document.createElement("table") with too few arguments must throw TypeError 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteRow" with the proper type (13) 
+PASS HTMLTableElement interface: calling deleteRow(long) on document.createElement("table") with too few arguments must throw TypeError 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "align" with the proper type (14) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "border" with the proper type (15) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "frame" with the proper type (16) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "rules" with the proper type (17) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "summary" with the proper type (18) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "width" with the proper type (19) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "bgColor" with the proper type (20) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellPadding" with the proper type (21) 
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type (22) 
+PASS HTMLTableCaptionElement interface: existence and properties of interface object 
+PASS HTMLTableCaptionElement interface object length 
+PASS HTMLTableCaptionElement interface object name 
+PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object 
+PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTableCaptionElement interface: attribute align 
+PASS HTMLTableCaptionElement must be primary interface of document.createElement("caption") 
+PASS Stringification of document.createElement("caption") 
+PASS HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type (0) 
+PASS HTMLTableColElement interface: existence and properties of interface object 
+PASS HTMLTableColElement interface object length 
+PASS HTMLTableColElement interface object name 
+PASS HTMLTableColElement interface: existence and properties of interface prototype object 
+PASS HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTableColElement interface: attribute span 
+PASS HTMLTableColElement interface: attribute align 
+PASS HTMLTableColElement interface: attribute ch 
+PASS HTMLTableColElement interface: attribute chOff 
+PASS HTMLTableColElement interface: attribute vAlign 
+PASS HTMLTableColElement interface: attribute width 
+PASS HTMLTableColElement must be primary interface of document.createElement("colgroup") 
+PASS Stringification of document.createElement("colgroup") 
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "span" with the proper type (0) 
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "align" with the proper type (1) 
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "ch" with the proper type (2) 
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "chOff" with the proper type (3) 
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "vAlign" with the proper type (4) 
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "width" with the proper type (5) 
+PASS HTMLTableColElement must be primary interface of document.createElement("col") 
+PASS Stringification of document.createElement("col") 
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "span" with the proper type (0) 
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "align" with the proper type (1) 
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "ch" with the proper type (2) 
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "chOff" with the proper type (3) 
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "vAlign" with the proper type (4) 
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type (5) 
+PASS HTMLTableSectionElement interface: existence and properties of interface object 
+PASS HTMLTableSectionElement interface object length 
+PASS HTMLTableSectionElement interface object name 
+PASS HTMLTableSectionElement interface: existence and properties of interface prototype object 
+PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTableSectionElement interface: attribute rows 
+PASS HTMLTableSectionElement interface: operation insertRow(long) 
+PASS HTMLTableSectionElement interface: operation deleteRow(long) 
+PASS HTMLTableSectionElement interface: attribute align 
+PASS HTMLTableSectionElement interface: attribute ch 
+PASS HTMLTableSectionElement interface: attribute chOff 
+PASS HTMLTableSectionElement interface: attribute vAlign 
+PASS HTMLTableSectionElement must be primary interface of document.createElement("tbody") 
+PASS Stringification of document.createElement("tbody") 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "rows" with the proper type (0) 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "insertRow" with the proper type (1) 
+PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tbody") with too few arguments must throw TypeError 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "deleteRow" with the proper type (2) 
+PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tbody") with too few arguments must throw TypeError 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "align" with the proper type (3) 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "ch" with the proper type (4) 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "chOff" with the proper type (5) 
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "vAlign" with the proper type (6) 
+PASS HTMLTableSectionElement must be primary interface of document.createElement("thead") 
+PASS Stringification of document.createElement("thead") 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "rows" with the proper type (0) 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "insertRow" with the proper type (1) 
+PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("thead") with too few arguments must throw TypeError 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "deleteRow" with the proper type (2) 
+PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("thead") with too few arguments must throw TypeError 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "align" with the proper type (3) 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "ch" with the proper type (4) 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "chOff" with the proper type (5) 
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "vAlign" with the proper type (6) 
+PASS HTMLTableSectionElement must be primary interface of document.createElement("tfoot") 
+PASS Stringification of document.createElement("tfoot") 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "rows" with the proper type (0) 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "insertRow" with the proper type (1) 
+PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "deleteRow" with the proper type (2) 
+PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "align" with the proper type (3) 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "ch" with the proper type (4) 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "chOff" with the proper type (5) 
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type (6) 
+PASS HTMLTableRowElement interface: existence and properties of interface object 
+PASS HTMLTableRowElement interface object length 
+PASS HTMLTableRowElement interface object name 
+PASS HTMLTableRowElement interface: existence and properties of interface prototype object 
+PASS HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTableRowElement interface: attribute rowIndex 
+PASS HTMLTableRowElement interface: attribute sectionRowIndex 
+PASS HTMLTableRowElement interface: attribute cells 
+PASS HTMLTableRowElement interface: operation insertCell(long) 
+PASS HTMLTableRowElement interface: operation deleteCell(long) 
+PASS HTMLTableRowElement interface: attribute align 
+PASS HTMLTableRowElement interface: attribute ch 
+PASS HTMLTableRowElement interface: attribute chOff 
+PASS HTMLTableRowElement interface: attribute vAlign 
+PASS HTMLTableRowElement interface: attribute bgColor 
+PASS HTMLTableRowElement must be primary interface of document.createElement("tr") 
+PASS Stringification of document.createElement("tr") 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "rowIndex" with the proper type (0) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "sectionRowIndex" with the proper type (1) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "cells" with the proper type (2) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "insertCell" with the proper type (3) 
+PASS HTMLTableRowElement interface: calling insertCell(long) on document.createElement("tr") with too few arguments must throw TypeError 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "deleteCell" with the proper type (4) 
+PASS HTMLTableRowElement interface: calling deleteCell(long) on document.createElement("tr") with too few arguments must throw TypeError 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "align" with the proper type (5) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "ch" with the proper type (6) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "chOff" with the proper type (7) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type (8) 
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "bgColor" with the proper type (9) 
+PASS HTMLTableCellElement interface: existence and properties of interface object 
+PASS HTMLTableCellElement interface object length 
+PASS HTMLTableCellElement interface object name 
+PASS HTMLTableCellElement interface: existence and properties of interface prototype object 
+PASS HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTableCellElement interface: attribute colSpan 
+PASS HTMLTableCellElement interface: attribute rowSpan 
+PASS HTMLTableCellElement interface: attribute headers 
+PASS HTMLTableCellElement interface: attribute cellIndex 
+PASS HTMLTableCellElement interface: attribute scope 
+PASS HTMLTableCellElement interface: attribute abbr 
+PASS HTMLTableCellElement interface: attribute align 
+PASS HTMLTableCellElement interface: attribute axis 
+PASS HTMLTableCellElement interface: attribute height 
+PASS HTMLTableCellElement interface: attribute width 
+PASS HTMLTableCellElement interface: attribute ch 
+PASS HTMLTableCellElement interface: attribute chOff 
+PASS HTMLTableCellElement interface: attribute noWrap 
+PASS HTMLTableCellElement interface: attribute vAlign 
+PASS HTMLTableCellElement interface: attribute bgColor 
+PASS HTMLTableCellElement must be primary interface of document.createElement("td") 
+PASS Stringification of document.createElement("td") 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "colSpan" with the proper type (0) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "rowSpan" with the proper type (1) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "headers" with the proper type (2) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "cellIndex" with the proper type (3) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "scope" with the proper type (4) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "abbr" with the proper type (5) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "align" with the proper type (6) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "axis" with the proper type (7) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "height" with the proper type (8) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "width" with the proper type (9) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "ch" with the proper type (10) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "chOff" with the proper type (11) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "noWrap" with the proper type (12) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type (13) 
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "bgColor" with the proper type (14) 
+PASS HTMLTableCellElement must be primary interface of document.createElement("th") 
+PASS Stringification of document.createElement("th") 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "colSpan" with the proper type (0) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "rowSpan" with the proper type (1) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "headers" with the proper type (2) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "cellIndex" with the proper type (3) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "scope" with the proper type (4) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "abbr" with the proper type (5) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "align" with the proper type (6) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "axis" with the proper type (7) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "height" with the proper type (8) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "width" with the proper type (9) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "ch" with the proper type (10) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "chOff" with the proper type (11) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "noWrap" with the proper type (12) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type (13) 
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "bgColor" with the proper type (14) 
+PASS HTMLFormElement interface: existence and properties of interface object 
+PASS HTMLFormElement interface object length 
+PASS HTMLFormElement interface object name 
+PASS HTMLFormElement interface: existence and properties of interface prototype object 
+PASS HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLFormElement interface: attribute acceptCharset 
+PASS HTMLFormElement interface: attribute action 
+PASS HTMLFormElement interface: attribute autocomplete 
+PASS HTMLFormElement interface: attribute enctype 
+PASS HTMLFormElement interface: attribute encoding 
+PASS HTMLFormElement interface: attribute method 
+PASS HTMLFormElement interface: attribute name 
+PASS HTMLFormElement interface: attribute noValidate 
+PASS HTMLFormElement interface: attribute target 
+PASS HTMLFormElement interface: attribute elements 
+PASS HTMLFormElement interface: attribute length 
+PASS HTMLFormElement interface: operation submit() 
+PASS HTMLFormElement interface: operation reset() 
+PASS HTMLFormElement interface: operation checkValidity() 
+PASS HTMLFormElement interface: operation reportValidity() 
+PASS HTMLFormElement must be primary interface of document.createElement("form") 
+PASS Stringification of document.createElement("form") 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "acceptCharset" with the proper type (0) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "action" with the proper type (1) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "enctype" with the proper type (3) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "encoding" with the proper type (4) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "method" with the proper type (5) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "name" with the proper type (6) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "noValidate" with the proper type (7) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "target" with the proper type (8) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "elements" with the proper type (9) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "length" with the proper type (10) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "submit" with the proper type (13) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "reset" with the proper type (14) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "checkValidity" with the proper type (15) 
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity" with the proper type (16) 
+PASS HTMLLabelElement interface: existence and properties of interface object 
+PASS HTMLLabelElement interface object length 
+PASS HTMLLabelElement interface object name 
+PASS HTMLLabelElement interface: existence and properties of interface prototype object 
+PASS HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLLabelElement interface: attribute form 
+PASS HTMLLabelElement interface: attribute htmlFor 
+PASS HTMLLabelElement interface: attribute control 
+PASS HTMLLabelElement must be primary interface of document.createElement("label") 
+PASS Stringification of document.createElement("label") 
+PASS HTMLLabelElement interface: document.createElement("label") must inherit property "form" with the proper type (0) 
+PASS HTMLLabelElement interface: document.createElement("label") must inherit property "htmlFor" with the proper type (1) 
+PASS HTMLLabelElement interface: document.createElement("label") must inherit property "control" with the proper type (2) 
+PASS HTMLInputElement interface: existence and properties of interface object 
+PASS HTMLInputElement interface object length 
+PASS HTMLInputElement interface object name 
+PASS HTMLInputElement interface: existence and properties of interface prototype object 
+PASS HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLInputElement interface: attribute accept 
+PASS HTMLInputElement interface: attribute alt 
+PASS HTMLInputElement interface: attribute autocomplete 
+PASS HTMLInputElement interface: attribute autofocus 
+PASS HTMLInputElement interface: attribute defaultChecked 
+PASS HTMLInputElement interface: attribute checked 
+PASS HTMLInputElement interface: attribute dirName 
+PASS HTMLInputElement interface: attribute disabled 
+PASS HTMLInputElement interface: attribute form 
+FAIL HTMLInputElement interface: attribute files assert_equals: setter must be undefined for readonly attributes expected (undefined) undefined but got (function) function "function () { [native code] }"
+PASS HTMLInputElement interface: attribute formAction 
+PASS HTMLInputElement interface: attribute formEnctype 
+PASS HTMLInputElement interface: attribute formMethod 
+PASS HTMLInputElement interface: attribute formNoValidate 
+PASS HTMLInputElement interface: attribute formTarget 
+PASS HTMLInputElement interface: attribute height 
+PASS HTMLInputElement interface: attribute indeterminate 
+FAIL HTMLInputElement interface: attribute inputMode assert_own_property: expected property "inputMode" missing
+PASS HTMLInputElement interface: attribute list 
+PASS HTMLInputElement interface: attribute max 
+PASS HTMLInputElement interface: attribute maxLength 
+PASS HTMLInputElement interface: attribute min 
+PASS HTMLInputElement interface: attribute minLength 
+PASS HTMLInputElement interface: attribute multiple 
+PASS HTMLInputElement interface: attribute name 
+PASS HTMLInputElement interface: attribute pattern 
+PASS HTMLInputElement interface: attribute placeholder 
+PASS HTMLInputElement interface: attribute readOnly 
+PASS HTMLInputElement interface: attribute required 
+PASS HTMLInputElement interface: attribute size 
+PASS HTMLInputElement interface: attribute src 
+PASS HTMLInputElement interface: attribute step 
+PASS HTMLInputElement interface: attribute type 
+PASS HTMLInputElement interface: attribute defaultValue 
+PASS HTMLInputElement interface: attribute value 
+PASS HTMLInputElement interface: attribute valueAsDate 
+PASS HTMLInputElement interface: attribute valueAsNumber 
+PASS HTMLInputElement interface: attribute width 
+PASS HTMLInputElement interface: operation stepUp(long) 
+PASS HTMLInputElement interface: operation stepDown(long) 
+PASS HTMLInputElement interface: attribute willValidate 
+PASS HTMLInputElement interface: attribute validity 
+PASS HTMLInputElement interface: attribute validationMessage 
+PASS HTMLInputElement interface: operation checkValidity() 
+PASS HTMLInputElement interface: operation reportValidity() 
+PASS HTMLInputElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLInputElement interface: attribute labels 
+PASS HTMLInputElement interface: operation select() 
+PASS HTMLInputElement interface: attribute selectionStart 
+PASS HTMLInputElement interface: attribute selectionEnd 
+PASS HTMLInputElement interface: attribute selectionDirection 
+PASS HTMLInputElement interface: operation setRangeText(DOMString) 
+PASS HTMLInputElement interface: operation setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) 
+PASS HTMLInputElement interface: operation setSelectionRange(unsigned long,unsigned long,DOMString) 
+PASS HTMLInputElement interface: attribute align 
+PASS HTMLInputElement interface: attribute useMap 
+PASS HTMLInputElement must be primary interface of document.createElement("input") 
+PASS Stringification of document.createElement("input") 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on document.createElement("input") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on document.createElement("input") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on document.createElement("input") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on document.createElement("input") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on document.createElement("input") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on document.createElement("input") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("text") 
+PASS Stringification of createInput("text") 
+PASS HTMLInputElement interface: createInput("text") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("text") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("text") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("text") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("text") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("text") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("text") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("text") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("text") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("text") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("text") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("text") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("text") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("hidden") 
+PASS Stringification of createInput("hidden") 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("hidden") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("hidden") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("hidden") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("hidden") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("hidden") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("search") 
+PASS Stringification of createInput("search") 
+PASS HTMLInputElement interface: createInput("search") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("search") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("search") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("search") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("search") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("search") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("search") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("search") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("search") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("search") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("search") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("search") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("search") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("tel") 
+PASS Stringification of createInput("tel") 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("tel") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("tel") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("tel") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("tel") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("tel") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("tel") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("tel") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("url") 
+PASS Stringification of createInput("url") 
+PASS HTMLInputElement interface: createInput("url") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("url") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("url") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("url") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("url") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("url") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("url") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("url") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("url") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("url") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("url") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("url") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("url") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("email") 
+PASS Stringification of createInput("email") 
+PASS HTMLInputElement interface: createInput("email") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("email") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("email") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("email") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("email") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("email") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("email") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("email") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("email") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("email") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("email") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("email") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("email") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("password") 
+PASS Stringification of createInput("password") 
+PASS HTMLInputElement interface: createInput("password") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("password") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("password") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("password") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("password") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("password") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("password") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("password") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("password") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("password") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("password") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("password") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("password") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("date") 
+PASS Stringification of createInput("date") 
+PASS HTMLInputElement interface: createInput("date") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("date") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("date") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("date") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("date") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("date") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("date") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("date") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("date") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("date") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("date") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("date") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("date") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("month") 
+PASS Stringification of createInput("month") 
+PASS HTMLInputElement interface: createInput("month") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("month") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("month") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("month") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("month") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("month") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("month") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("month") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("month") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("month") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("month") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("month") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("month") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("week") 
+PASS Stringification of createInput("week") 
+PASS HTMLInputElement interface: createInput("week") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("week") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("week") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("week") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("week") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("week") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("week") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("week") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("week") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("week") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("week") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("week") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("week") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("time") 
+PASS Stringification of createInput("time") 
+PASS HTMLInputElement interface: createInput("time") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("time") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("time") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("time") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("time") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("time") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("time") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("time") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("time") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("time") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("time") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("time") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("time") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("datetime-local") 
+PASS Stringification of createInput("datetime-local") 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("datetime-local") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("datetime-local") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("datetime-local") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("datetime-local") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("number") 
+PASS Stringification of createInput("number") 
+PASS HTMLInputElement interface: createInput("number") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("number") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("number") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("number") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("number") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("number") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("number") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("number") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("number") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("number") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("number") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("number") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("number") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("range") 
+PASS Stringification of createInput("range") 
+PASS HTMLInputElement interface: createInput("range") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("range") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("range") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("range") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("range") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("range") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("range") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("range") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("range") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("range") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("range") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("range") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("color") 
+PASS Stringification of createInput("color") 
+PASS HTMLInputElement interface: createInput("color") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("color") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("color") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("color") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("color") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("color") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("color") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("color") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("color") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("color") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("color") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("color") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("color") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("checkbox") 
+PASS Stringification of createInput("checkbox") 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("checkbox") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("checkbox") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("checkbox") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("checkbox") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("checkbox") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("checkbox") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("radio") 
+PASS Stringification of createInput("radio") 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("radio") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("radio") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("radio") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("radio") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("radio") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("radio") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("radio") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("file") 
+PASS Stringification of createInput("file") 
+PASS HTMLInputElement interface: createInput("file") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "form" with the proper type (8) 
+FAIL HTMLInputElement interface: createInput("file") must inherit property "files" with the proper type (9) Unrecognized type FileList
+PASS HTMLInputElement interface: createInput("file") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("file") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("file") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("file") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("file") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("file") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("file") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("file") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("file") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("file") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("file") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("file") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("file") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("submit") 
+PASS Stringification of createInput("submit") 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("submit") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("submit") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("submit") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("submit") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("submit") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("submit") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("submit") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("image") 
+PASS Stringification of createInput("image") 
+PASS HTMLInputElement interface: createInput("image") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("image") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("image") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("image") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("image") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("image") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("image") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("image") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("image") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("image") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("image") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("image") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("reset") 
+PASS Stringification of createInput("reset") 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("reset") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("reset") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("reset") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("reset") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("reset") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("reset") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("reset") must inherit property "useMap" with the proper type (55) 
+PASS HTMLInputElement must be primary interface of createInput("button") 
+PASS Stringification of createInput("button") 
+PASS HTMLInputElement interface: createInput("button") must inherit property "accept" with the proper type (0) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "alt" with the proper type (1) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "autocomplete" with the proper type (2) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "autofocus" with the proper type (3) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "defaultChecked" with the proper type (4) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "checked" with the proper type (5) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "dirName" with the proper type (6) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "disabled" with the proper type (7) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "form" with the proper type (8) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "files" with the proper type (9) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "formAction" with the proper type (10) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "formEnctype" with the proper type (11) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "formMethod" with the proper type (12) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "formNoValidate" with the proper type (13) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "formTarget" with the proper type (14) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "height" with the proper type (15) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "indeterminate" with the proper type (16) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "inputMode" with the proper type (17) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "list" with the proper type (18) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "max" with the proper type (19) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "maxLength" with the proper type (20) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "min" with the proper type (21) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "minLength" with the proper type (22) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "multiple" with the proper type (23) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "name" with the proper type (24) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "pattern" with the proper type (25) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "placeholder" with the proper type (26) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "readOnly" with the proper type (27) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "required" with the proper type (28) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "size" with the proper type (29) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "src" with the proper type (30) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "step" with the proper type (31) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "type" with the proper type (32) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "defaultValue" with the proper type (33) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "value" with the proper type (34) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsDate" with the proper type (35) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsNumber" with the proper type (36) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "width" with the proper type (37) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "stepUp" with the proper type (38) 
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("button") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("button") must inherit property "stepDown" with the proper type (39) 
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("button") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("button") must inherit property "willValidate" with the proper type (40) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "validity" with the proper type (41) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "validationMessage" with the proper type (42) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "checkValidity" with the proper type (43) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "reportValidity" with the proper type (44) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity" with the proper type (45) 
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("button") must inherit property "labels" with the proper type (46) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "select" with the proper type (47) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "selectionStart" with the proper type (48) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "selectionEnd" with the proper type (49) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "selectionDirection" with the proper type (50) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText" with the proper type (51) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("button") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText" with the proper type (52) 
+PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on createInput("button") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("button") must inherit property "setSelectionRange" with the proper type (53) 
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on createInput("button") with too few arguments must throw TypeError 
+PASS HTMLInputElement interface: createInput("button") must inherit property "align" with the proper type (54) 
+PASS HTMLInputElement interface: createInput("button") must inherit property "useMap" with the proper type (55) 
+PASS HTMLButtonElement interface: existence and properties of interface object 
+PASS HTMLButtonElement interface object length 
+PASS HTMLButtonElement interface object name 
+PASS HTMLButtonElement interface: existence and properties of interface prototype object 
+PASS HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLButtonElement interface: attribute autofocus 
+PASS HTMLButtonElement interface: attribute disabled 
+PASS HTMLButtonElement interface: attribute form 
+PASS HTMLButtonElement interface: attribute formAction 
+PASS HTMLButtonElement interface: attribute formEnctype 
+PASS HTMLButtonElement interface: attribute formMethod 
+PASS HTMLButtonElement interface: attribute formNoValidate 
+PASS HTMLButtonElement interface: attribute formTarget 
+PASS HTMLButtonElement interface: attribute name 
+PASS HTMLButtonElement interface: attribute type 
+PASS HTMLButtonElement interface: attribute value 
+PASS HTMLButtonElement interface: attribute willValidate 
+PASS HTMLButtonElement interface: attribute validity 
+PASS HTMLButtonElement interface: attribute validationMessage 
+PASS HTMLButtonElement interface: operation checkValidity() 
+PASS HTMLButtonElement interface: operation reportValidity() 
+PASS HTMLButtonElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLButtonElement interface: attribute labels 
+PASS HTMLButtonElement must be primary interface of document.createElement("button") 
+PASS Stringification of document.createElement("button") 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "autofocus" with the proper type (0) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "disabled" with the proper type (1) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "form" with the proper type (2) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formAction" with the proper type (3) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formEnctype" with the proper type (4) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formMethod" with the proper type (5) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formNoValidate" with the proper type (6) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formTarget" with the proper type (7) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "name" with the proper type (8) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "type" with the proper type (9) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "value" with the proper type (10) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "willValidate" with the proper type (11) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validity" with the proper type (12) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validationMessage" with the proper type (13) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "checkValidity" with the proper type (14) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity" with the proper type (15) 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "setCustomValidity" with the proper type (16) 
+PASS HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError 
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "labels" with the proper type (17) 
+PASS HTMLSelectElement interface: existence and properties of interface object 
+PASS HTMLSelectElement interface object length 
+PASS HTMLSelectElement interface object name 
+PASS HTMLSelectElement interface: existence and properties of interface prototype object 
+PASS HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property 
+FAIL HTMLSelectElement interface: attribute autocomplete assert_true: The prototype object must have a property "autocomplete" expected true got false
+PASS HTMLSelectElement interface: attribute autofocus 
+PASS HTMLSelectElement interface: attribute disabled 
+PASS HTMLSelectElement interface: attribute form 
+PASS HTMLSelectElement interface: attribute multiple 
+PASS HTMLSelectElement interface: attribute name 
+PASS HTMLSelectElement interface: attribute required 
+PASS HTMLSelectElement interface: attribute size 
+PASS HTMLSelectElement interface: attribute type 
+PASS HTMLSelectElement interface: attribute options 
+PASS HTMLSelectElement interface: attribute length 
+PASS HTMLSelectElement interface: operation item(unsigned long) 
+PASS HTMLSelectElement interface: operation namedItem(DOMString) 
+PASS HTMLSelectElement interface: operation add([object Object],[object Object],[object Object],[object Object]) 
+PASS HTMLSelectElement interface: operation remove() 
+PASS HTMLSelectElement interface: operation remove(long) 
+PASS HTMLSelectElement interface: attribute selectedOptions 
+PASS HTMLSelectElement interface: attribute selectedIndex 
+PASS HTMLSelectElement interface: attribute value 
+PASS HTMLSelectElement interface: attribute willValidate 
+PASS HTMLSelectElement interface: attribute validity 
+PASS HTMLSelectElement interface: attribute validationMessage 
+PASS HTMLSelectElement interface: operation checkValidity() 
+PASS HTMLSelectElement interface: operation reportValidity() 
+PASS HTMLSelectElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLSelectElement interface: attribute labels 
+PASS HTMLSelectElement must be primary interface of document.createElement("select") 
+PASS Stringification of document.createElement("select") 
+FAIL HTMLSelectElement interface: document.createElement("select") must inherit property "autocomplete" with the proper type (0) assert_inherits: property "autocomplete" not found in prototype chain
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "autofocus" with the proper type (1) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "disabled" with the proper type (2) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "form" with the proper type (3) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "multiple" with the proper type (4) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "name" with the proper type (5) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "required" with the proper type (6) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "size" with the proper type (7) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "type" with the proper type (8) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "options" with the proper type (9) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "length" with the proper type (10) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "item" with the proper type (11) 
+PASS HTMLSelectElement interface: calling item(unsigned long) on document.createElement("select") with too few arguments must throw TypeError 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "namedItem" with the proper type (12) 
+PASS HTMLSelectElement interface: calling namedItem(DOMString) on document.createElement("select") with too few arguments must throw TypeError 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "add" with the proper type (13) 
+PASS HTMLSelectElement interface: calling add([object Object],[object Object],[object Object],[object Object]) on document.createElement("select") with too few arguments must throw TypeError 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove" with the proper type (14) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove" with the proper type (15) 
+PASS HTMLSelectElement interface: calling remove(long) on document.createElement("select") with too few arguments must throw TypeError 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedOptions" with the proper type (17) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedIndex" with the proper type (18) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "value" with the proper type (19) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "willValidate" with the proper type (20) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validity" with the proper type (21) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validationMessage" with the proper type (22) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "checkValidity" with the proper type (23) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity" with the proper type (24) 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "setCustomValidity" with the proper type (25) 
+PASS HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError 
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "labels" with the proper type (26) 
+PASS HTMLDataListElement interface: existence and properties of interface object 
+PASS HTMLDataListElement interface object length 
+PASS HTMLDataListElement interface object name 
+PASS HTMLDataListElement interface: existence and properties of interface prototype object 
+PASS HTMLDataListElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLDataListElement interface: attribute options 
+PASS HTMLDataListElement must be primary interface of document.createElement("datalist") 
+PASS Stringification of document.createElement("datalist") 
+PASS HTMLDataListElement interface: document.createElement("datalist") must inherit property "options" with the proper type (0) 
+PASS HTMLOptGroupElement interface: existence and properties of interface object 
+PASS HTMLOptGroupElement interface object length 
+PASS HTMLOptGroupElement interface object name 
+PASS HTMLOptGroupElement interface: existence and properties of interface prototype object 
+PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLOptGroupElement interface: attribute disabled 
+PASS HTMLOptGroupElement interface: attribute label 
+PASS HTMLOptGroupElement must be primary interface of document.createElement("optgroup") 
+PASS Stringification of document.createElement("optgroup") 
+PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "disabled" with the proper type (0) 
+PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type (1) 
+PASS HTMLOptionElement interface: existence and properties of interface object 
+PASS HTMLOptionElement interface object length 
+PASS HTMLOptionElement interface object name 
+PASS HTMLOptionElement interface: existence and properties of interface prototype object 
+PASS HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLOptionElement interface: attribute disabled 
+PASS HTMLOptionElement interface: attribute form 
+PASS HTMLOptionElement interface: attribute label 
+PASS HTMLOptionElement interface: attribute defaultSelected 
+PASS HTMLOptionElement interface: attribute selected 
+PASS HTMLOptionElement interface: attribute value 
+PASS HTMLOptionElement interface: attribute text 
+PASS HTMLOptionElement interface: attribute index 
+PASS HTMLOptionElement must be primary interface of document.createElement("option") 
+PASS Stringification of document.createElement("option") 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "disabled" with the proper type (0) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "form" with the proper type (1) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "label" with the proper type (2) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "defaultSelected" with the proper type (3) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "selected" with the proper type (4) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "value" with the proper type (5) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "text" with the proper type (6) 
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type (7) 
+PASS HTMLOptionElement must be primary interface of new Option() 
+PASS Stringification of new Option() 
+PASS HTMLOptionElement interface: new Option() must inherit property "disabled" with the proper type (0) 
+PASS HTMLOptionElement interface: new Option() must inherit property "form" with the proper type (1) 
+PASS HTMLOptionElement interface: new Option() must inherit property "label" with the proper type (2) 
+PASS HTMLOptionElement interface: new Option() must inherit property "defaultSelected" with the proper type (3) 
+PASS HTMLOptionElement interface: new Option() must inherit property "selected" with the proper type (4) 
+PASS HTMLOptionElement interface: new Option() must inherit property "value" with the proper type (5) 
+PASS HTMLOptionElement interface: new Option() must inherit property "text" with the proper type (6) 
+PASS HTMLOptionElement interface: new Option() must inherit property "index" with the proper type (7) 
+PASS HTMLTextAreaElement interface: existence and properties of interface object 
+PASS HTMLTextAreaElement interface object length 
+PASS HTMLTextAreaElement interface object name 
+PASS HTMLTextAreaElement interface: existence and properties of interface prototype object 
+PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property 
+FAIL HTMLTextAreaElement interface: attribute autocomplete assert_true: The prototype object must have a property "autocomplete" expected true got false
+PASS HTMLTextAreaElement interface: attribute autofocus 
+PASS HTMLTextAreaElement interface: attribute cols 
+PASS HTMLTextAreaElement interface: attribute dirName 
+PASS HTMLTextAreaElement interface: attribute disabled 
+PASS HTMLTextAreaElement interface: attribute form 
+FAIL HTMLTextAreaElement interface: attribute inputMode assert_own_property: expected property "inputMode" missing
+PASS HTMLTextAreaElement interface: attribute maxLength 
+PASS HTMLTextAreaElement interface: attribute minLength 
+PASS HTMLTextAreaElement interface: attribute name 
+PASS HTMLTextAreaElement interface: attribute placeholder 
+PASS HTMLTextAreaElement interface: attribute readOnly 
+PASS HTMLTextAreaElement interface: attribute required 
+PASS HTMLTextAreaElement interface: attribute rows 
+PASS HTMLTextAreaElement interface: attribute wrap 
+PASS HTMLTextAreaElement interface: attribute type 
+PASS HTMLTextAreaElement interface: attribute defaultValue 
+PASS HTMLTextAreaElement interface: attribute value 
+PASS HTMLTextAreaElement interface: attribute textLength 
+PASS HTMLTextAreaElement interface: attribute willValidate 
+PASS HTMLTextAreaElement interface: attribute validity 
+PASS HTMLTextAreaElement interface: attribute validationMessage 
+PASS HTMLTextAreaElement interface: operation checkValidity() 
+PASS HTMLTextAreaElement interface: operation reportValidity() 
+PASS HTMLTextAreaElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLTextAreaElement interface: attribute labels 
+PASS HTMLTextAreaElement interface: operation select() 
+PASS HTMLTextAreaElement interface: attribute selectionStart 
+PASS HTMLTextAreaElement interface: attribute selectionEnd 
+PASS HTMLTextAreaElement interface: attribute selectionDirection 
+PASS HTMLTextAreaElement interface: operation setRangeText(DOMString) 
+PASS HTMLTextAreaElement interface: operation setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) 
+PASS HTMLTextAreaElement interface: operation setSelectionRange(unsigned long,unsigned long,DOMString) 
+PASS HTMLTextAreaElement must be primary interface of document.createElement("textarea") 
+PASS Stringification of document.createElement("textarea") 
+FAIL HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autocomplete" with the proper type (0) assert_inherits: property "autocomplete" not found in prototype chain
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autofocus" with the proper type (1) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "cols" with the proper type (2) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "dirName" with the proper type (3) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "disabled" with the proper type (4) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "form" with the proper type (5) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "inputMode" with the proper type (6) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "maxLength" with the proper type (7) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "minLength" with the proper type (8) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "name" with the proper type (9) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "placeholder" with the proper type (10) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "readOnly" with the proper type (11) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "required" with the proper type (12) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "rows" with the proper type (13) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "wrap" with the proper type (14) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "type" with the proper type (15) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "defaultValue" with the proper type (16) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "value" with the proper type (17) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "textLength" with the proper type (18) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "willValidate" with the proper type (19) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validity" with the proper type (20) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validationMessage" with the proper type (21) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "checkValidity" with the proper type (22) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity" with the proper type (23) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity" with the proper type (24) 
+PASS HTMLTextAreaElement interface: calling setCustomValidity(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "labels" with the proper type (25) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "select" with the proper type (26) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionStart" with the proper type (27) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionEnd" with the proper type (28) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionDirection" with the proper type (29) 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText" with the proper type (30) 
+PASS HTMLTextAreaElement interface: calling setRangeText(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText" with the proper type (31) 
+PASS HTMLTextAreaElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError 
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setSelectionRange" with the proper type (32) 
+PASS HTMLTextAreaElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on document.createElement("textarea") with too few arguments must throw TypeError 
+PASS HTMLOutputElement interface: existence and properties of interface object 
+PASS HTMLOutputElement interface object length 
+PASS HTMLOutputElement interface object name 
+PASS HTMLOutputElement interface: existence and properties of interface prototype object 
+PASS HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLOutputElement interface: attribute htmlFor 
+PASS HTMLOutputElement interface: attribute form 
+PASS HTMLOutputElement interface: attribute name 
+PASS HTMLOutputElement interface: attribute type 
+PASS HTMLOutputElement interface: attribute defaultValue 
+PASS HTMLOutputElement interface: attribute value 
+PASS HTMLOutputElement interface: attribute willValidate 
+PASS HTMLOutputElement interface: attribute validity 
+PASS HTMLOutputElement interface: attribute validationMessage 
+PASS HTMLOutputElement interface: operation checkValidity() 
+PASS HTMLOutputElement interface: operation reportValidity() 
+PASS HTMLOutputElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLOutputElement interface: attribute labels 
+PASS HTMLOutputElement must be primary interface of document.createElement("output") 
+PASS Stringification of document.createElement("output") 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "htmlFor" with the proper type (0) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "form" with the proper type (1) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "name" with the proper type (2) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "type" with the proper type (3) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "defaultValue" with the proper type (4) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "value" with the proper type (5) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "willValidate" with the proper type (6) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validity" with the proper type (7) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validationMessage" with the proper type (8) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "checkValidity" with the proper type (9) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity" with the proper type (10) 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "setCustomValidity" with the proper type (11) 
+PASS HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError 
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "labels" with the proper type (12) 
+PASS HTMLProgressElement interface: existence and properties of interface object 
+PASS HTMLProgressElement interface object length 
+PASS HTMLProgressElement interface object name 
+PASS HTMLProgressElement interface: existence and properties of interface prototype object 
+PASS HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLProgressElement interface: attribute value 
+PASS HTMLProgressElement interface: attribute max 
+PASS HTMLProgressElement interface: attribute position 
+PASS HTMLProgressElement interface: attribute labels 
+PASS HTMLProgressElement must be primary interface of document.createElement("progress") 
+PASS Stringification of document.createElement("progress") 
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "value" with the proper type (0) 
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "max" with the proper type (1) 
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type (2) 
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "labels" with the proper type (3) 
+PASS HTMLMeterElement interface: existence and properties of interface object 
+PASS HTMLMeterElement interface object length 
+PASS HTMLMeterElement interface object name 
+PASS HTMLMeterElement interface: existence and properties of interface prototype object 
+PASS HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLMeterElement interface: attribute value 
+PASS HTMLMeterElement interface: attribute min 
+PASS HTMLMeterElement interface: attribute max 
+PASS HTMLMeterElement interface: attribute low 
+PASS HTMLMeterElement interface: attribute high 
+PASS HTMLMeterElement interface: attribute optimum 
+PASS HTMLMeterElement interface: attribute labels 
+PASS HTMLMeterElement must be primary interface of document.createElement("meter") 
+PASS Stringification of document.createElement("meter") 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "value" with the proper type (0) 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "min" with the proper type (1) 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "max" with the proper type (2) 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "low" with the proper type (3) 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "high" with the proper type (4) 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type (5) 
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "labels" with the proper type (6) 
+PASS HTMLFieldSetElement interface: existence and properties of interface object 
+PASS HTMLFieldSetElement interface object length 
+PASS HTMLFieldSetElement interface object name 
+PASS HTMLFieldSetElement interface: existence and properties of interface prototype object 
+PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLFieldSetElement interface: attribute disabled 
+PASS HTMLFieldSetElement interface: attribute form 
+PASS HTMLFieldSetElement interface: attribute name 
+PASS HTMLFieldSetElement interface: attribute type 
+PASS HTMLFieldSetElement interface: attribute elements 
+PASS HTMLFieldSetElement interface: attribute willValidate 
+PASS HTMLFieldSetElement interface: attribute validity 
+PASS HTMLFieldSetElement interface: attribute validationMessage 
+PASS HTMLFieldSetElement interface: operation checkValidity() 
+PASS HTMLFieldSetElement interface: operation reportValidity() 
+PASS HTMLFieldSetElement interface: operation setCustomValidity(DOMString) 
+PASS HTMLLegendElement interface: existence and properties of interface object 
+PASS HTMLLegendElement interface object length 
+PASS HTMLLegendElement interface object name 
+PASS HTMLLegendElement interface: existence and properties of interface prototype object 
+PASS HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLLegendElement interface: attribute form 
+PASS HTMLLegendElement interface: attribute align 
+PASS HTMLLegendElement must be primary interface of document.createElement("legend") 
+PASS Stringification of document.createElement("legend") 
+PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "form" with the proper type (0) 
+PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "align" with the proper type (1) 
+PASS ValidityState interface: existence and properties of interface object 
+PASS ValidityState interface object length 
+PASS ValidityState interface object name 
+PASS ValidityState interface: existence and properties of interface prototype object 
+PASS ValidityState interface: existence and properties of interface prototype object's "constructor" property 
+PASS ValidityState interface: attribute valueMissing 
+PASS ValidityState interface: attribute typeMismatch 
+PASS ValidityState interface: attribute patternMismatch 
+PASS ValidityState interface: attribute tooLong 
+PASS ValidityState interface: attribute tooShort 
+PASS ValidityState interface: attribute rangeUnderflow 
+PASS ValidityState interface: attribute rangeOverflow 
+PASS ValidityState interface: attribute stepMismatch 
+PASS ValidityState interface: attribute badInput 
+PASS ValidityState interface: attribute customError 
+PASS ValidityState interface: attribute valid 
+PASS ValidityState must be primary interface of document.createElement("input").validity 
+PASS Stringification of document.createElement("input").validity 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "valueMissing" with the proper type (0) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "typeMismatch" with the proper type (1) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "patternMismatch" with the proper type (2) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "tooLong" with the proper type (3) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "tooShort" with the proper type (4) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeUnderflow" with the proper type (5) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeOverflow" with the proper type (6) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "stepMismatch" with the proper type (7) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "badInput" with the proper type (8) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "customError" with the proper type (9) 
+PASS ValidityState interface: document.createElement("input").validity must inherit property "valid" with the proper type (10) 
+PASS HTMLDetailsElement interface: existence and properties of interface object 
+PASS HTMLDetailsElement interface object length 
+PASS HTMLDetailsElement interface object name 
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object 
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLDetailsElement interface: attribute open 
+PASS HTMLDetailsElement must be primary interface of document.createElement("details") 
+PASS Stringification of document.createElement("details") 
+PASS HTMLDetailsElement interface: document.createElement("details") must inherit property "open" with the proper type (0) 
+PASS HTMLMenuElement interface: existence and properties of interface object 
+PASS HTMLMenuElement interface object length 
+PASS HTMLMenuElement interface object name 
+PASS HTMLMenuElement interface: existence and properties of interface prototype object 
+PASS HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLMenuElement interface: attribute compact 
+PASS HTMLMenuElement must be primary interface of document.createElement("menu") 
+PASS Stringification of document.createElement("menu") 
+PASS HTMLMenuElement interface: document.createElement("menu") must inherit property "compact" with the proper type (0) 
+PASS HTMLDialogElement interface: existence and properties of interface object 
+PASS HTMLDialogElement interface object length 
+PASS HTMLDialogElement interface object name 
+PASS HTMLDialogElement interface: existence and properties of interface prototype object 
+PASS HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLDialogElement interface: attribute open 
+PASS HTMLDialogElement interface: attribute returnValue 
+PASS HTMLDialogElement interface: operation show() 
+PASS HTMLDialogElement interface: operation showModal() 
+PASS HTMLDialogElement interface: operation close(DOMString) 
+PASS HTMLScriptElement interface: existence and properties of interface object 
+PASS HTMLScriptElement interface object length 
+PASS HTMLScriptElement interface object name 
+PASS HTMLScriptElement interface: existence and properties of interface prototype object 
+PASS HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLScriptElement interface: attribute src 
+PASS HTMLScriptElement interface: attribute type 
+PASS HTMLScriptElement interface: attribute noModule 
+PASS HTMLScriptElement interface: attribute charset 
+PASS HTMLScriptElement interface: attribute async 
+PASS HTMLScriptElement interface: attribute defer 
+PASS HTMLScriptElement interface: attribute crossOrigin 
+PASS HTMLScriptElement interface: attribute text 
+FAIL HTMLScriptElement interface: attribute nonce assert_own_property: expected property "nonce" missing
+PASS HTMLScriptElement interface: attribute integrity 
+PASS HTMLScriptElement interface: attribute event 
+PASS HTMLScriptElement interface: attribute htmlFor 
+PASS HTMLScriptElement must be primary interface of document.createElement("script") 
+PASS Stringification of document.createElement("script") 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "src" with the proper type (0) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "type" with the proper type (1) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type (2) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "charset" with the proper type (3) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "async" with the proper type (4) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "defer" with the proper type (5) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "crossOrigin" with the proper type (6) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "text" with the proper type (7) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "nonce" with the proper type (8) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "integrity" with the proper type (9) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "event" with the proper type (10) 
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type (11) 
+PASS HTMLTemplateElement interface: existence and properties of interface object 
+PASS HTMLTemplateElement interface object length 
+PASS HTMLTemplateElement interface object name 
+PASS HTMLTemplateElement interface: existence and properties of interface prototype object 
+PASS HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLTemplateElement interface: attribute content 
+PASS HTMLTemplateElement must be primary interface of document.createElement("template") 
+PASS Stringification of document.createElement("template") 
+PASS HTMLTemplateElement interface: document.createElement("template") must inherit property "content" with the proper type (0) 
+PASS HTMLSlotElement interface: existence and properties of interface object 
+PASS HTMLSlotElement interface object length 
+PASS HTMLSlotElement interface object name 
+PASS HTMLSlotElement interface: existence and properties of interface prototype object 
+PASS HTMLSlotElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLSlotElement interface: attribute name 
+PASS HTMLSlotElement interface: operation assignedNodes(AssignedNodesOptions) 
+PASS HTMLSlotElement must be primary interface of document.createElement("slot") 
+PASS Stringification of document.createElement("slot") 
+PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "name" with the proper type (0) 
+PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedNodes" with the proper type (1) 
+PASS HTMLSlotElement interface: calling assignedNodes(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError 
+PASS HTMLCanvasElement interface: existence and properties of interface object 
+PASS HTMLCanvasElement interface object length 
+PASS HTMLCanvasElement interface object name 
+PASS HTMLCanvasElement interface: existence and properties of interface prototype object 
+PASS HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLCanvasElement interface: attribute width 
+PASS HTMLCanvasElement interface: attribute height 
+PASS HTMLCanvasElement interface: operation getContext(DOMString,any) 
+PASS HTMLCanvasElement interface: operation toDataURL(DOMString,any) 
+PASS HTMLCanvasElement interface: operation toBlob(BlobCallback,DOMString,any) 
+PASS HTMLCanvasElement must be primary interface of document.createElement("canvas") 
+PASS Stringification of document.createElement("canvas") 
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "width" with the proper type (0) 
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "height" with the proper type (1) 
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "getContext" with the proper type (2) 
+PASS HTMLCanvasElement interface: calling getContext(DOMString,any) on document.createElement("canvas") with too few arguments must throw TypeError 
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toDataURL" with the proper type (3) 
+PASS HTMLCanvasElement interface: calling toDataURL(DOMString,any) on document.createElement("canvas") with too few arguments must throw TypeError 
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toBlob" with the proper type (4) 
+PASS HTMLCanvasElement interface: calling toBlob(BlobCallback,DOMString,any) on document.createElement("canvas") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: existence and properties of interface object 
+PASS CanvasRenderingContext2D interface object length 
+PASS CanvasRenderingContext2D interface object name 
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object 
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property 
+PASS CanvasRenderingContext2D interface: attribute canvas 
+PASS CanvasRenderingContext2D interface: operation save() 
+PASS CanvasRenderingContext2D interface: operation restore() 
+PASS CanvasRenderingContext2D interface: operation scale(unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation rotate(unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation translate(unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation transform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+FAIL CanvasRenderingContext2D interface: operation getTransform() assert_own_property: interface prototype object missing non-static operation expected property "getTransform" missing
+FAIL CanvasRenderingContext2D interface: operation setTransform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) assert_equals: property has wrong .length expected 0 but got 6
+FAIL CanvasRenderingContext2D interface: operation setTransform(DOMMatrixInit) assert_equals: property has wrong .length expected 0 but got 6
+PASS CanvasRenderingContext2D interface: operation resetTransform() 
+PASS CanvasRenderingContext2D interface: attribute globalAlpha 
+PASS CanvasRenderingContext2D interface: attribute globalCompositeOperation 
+PASS CanvasRenderingContext2D interface: attribute imageSmoothingEnabled 
+PASS CanvasRenderingContext2D interface: attribute imageSmoothingQuality 
+PASS CanvasRenderingContext2D interface: attribute strokeStyle 
+PASS CanvasRenderingContext2D interface: attribute fillStyle 
+PASS CanvasRenderingContext2D interface: operation createLinearGradient(double,double,double,double) 
+PASS CanvasRenderingContext2D interface: operation createRadialGradient(double,double,double,double,double,double) 
+PASS CanvasRenderingContext2D interface: operation createPattern(CanvasImageSource,DOMString) 
+PASS CanvasRenderingContext2D interface: attribute shadowOffsetX 
+PASS CanvasRenderingContext2D interface: attribute shadowOffsetY 
+PASS CanvasRenderingContext2D interface: attribute shadowBlur 
+PASS CanvasRenderingContext2D interface: attribute shadowColor 
+PASS CanvasRenderingContext2D interface: attribute filter 
+PASS CanvasRenderingContext2D interface: operation clearRect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation fillRect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation strokeRect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation beginPath() 
+PASS CanvasRenderingContext2D interface: operation fill(CanvasFillRule) 
+PASS CanvasRenderingContext2D interface: operation fill(Path2D,CanvasFillRule) 
+PASS CanvasRenderingContext2D interface: operation stroke() 
+PASS CanvasRenderingContext2D interface: operation stroke(Path2D) 
+PASS CanvasRenderingContext2D interface: operation clip(CanvasFillRule) 
+PASS CanvasRenderingContext2D interface: operation clip(Path2D,CanvasFillRule) 
+FAIL CanvasRenderingContext2D interface: operation resetClip() assert_own_property: interface prototype object missing non-static operation expected property "resetClip" missing
+PASS CanvasRenderingContext2D interface: operation isPointInPath(unrestricted double,unrestricted double,CanvasFillRule) 
+PASS CanvasRenderingContext2D interface: operation isPointInPath(Path2D,unrestricted double,unrestricted double,CanvasFillRule) 
+PASS CanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation isPointInStroke(Path2D,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Element) 
+PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Path2D,Element) 
+PASS CanvasRenderingContext2D interface: operation scrollPathIntoView() 
+PASS CanvasRenderingContext2D interface: operation scrollPathIntoView(Path2D) 
+PASS CanvasRenderingContext2D interface: operation fillText(DOMString,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation strokeText(DOMString,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation measureText(DOMString) 
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation addHitRegion(HitRegionOptions) 
+PASS CanvasRenderingContext2D interface: operation removeHitRegion(DOMString) 
+PASS CanvasRenderingContext2D interface: operation clearHitRegions() 
+PASS CanvasRenderingContext2D interface: operation createImageData(double,double) 
+PASS CanvasRenderingContext2D interface: operation createImageData(ImageData) 
+PASS CanvasRenderingContext2D interface: operation getImageData(double,double,double,double) 
+PASS CanvasRenderingContext2D interface: operation putImageData(ImageData,double,double) 
+PASS CanvasRenderingContext2D interface: operation putImageData(ImageData,double,double,double,double,double,double) 
+PASS CanvasRenderingContext2D interface: attribute lineWidth 
+PASS CanvasRenderingContext2D interface: attribute lineCap 
+PASS CanvasRenderingContext2D interface: attribute lineJoin 
+PASS CanvasRenderingContext2D interface: attribute miterLimit 
+PASS CanvasRenderingContext2D interface: operation setLineDash([object Object]) 
+PASS CanvasRenderingContext2D interface: operation getLineDash() 
+PASS CanvasRenderingContext2D interface: attribute lineDashOffset 
+PASS CanvasRenderingContext2D interface: attribute font 
+PASS CanvasRenderingContext2D interface: attribute textAlign 
+PASS CanvasRenderingContext2D interface: attribute textBaseline 
+PASS CanvasRenderingContext2D interface: attribute direction 
+PASS CanvasRenderingContext2D interface: operation closePath() 
+PASS CanvasRenderingContext2D interface: operation moveTo(unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation lineTo(unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation arcTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation arcTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation rect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS CanvasRenderingContext2D interface: operation arc(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,boolean) 
+PASS CanvasRenderingContext2D interface: operation ellipse(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,boolean) 
+PASS CanvasRenderingContext2D must be primary interface of document.createElement("canvas").getContext("2d") 
+PASS Stringification of document.createElement("canvas").getContext("2d") 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "canvas" with the proper type (0) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "save" with the proper type (1) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "restore" with the proper type (2) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scale" with the proper type (3) 
+PASS CanvasRenderingContext2D interface: calling scale(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rotate" with the proper type (4) 
+PASS CanvasRenderingContext2D interface: calling rotate(unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "translate" with the proper type (5) 
+PASS CanvasRenderingContext2D interface: calling translate(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "transform" with the proper type (6) 
+PASS CanvasRenderingContext2D interface: calling transform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getTransform" with the proper type (7) assert_inherits: property "getTransform" not found in prototype chain
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform" with the proper type (8) 
+PASS CanvasRenderingContext2D interface: calling setTransform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform" with the proper type (9) 
+PASS CanvasRenderingContext2D interface: calling setTransform(DOMMatrixInit) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetTransform" with the proper type (10) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalAlpha" with the proper type (11) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalCompositeOperation" with the proper type (12) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingEnabled" with the proper type (13) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingQuality" with the proper type (14) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeStyle" with the proper type (15) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillStyle" with the proper type (16) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createLinearGradient" with the proper type (17) 
+PASS CanvasRenderingContext2D interface: calling createLinearGradient(double,double,double,double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createRadialGradient" with the proper type (18) 
+PASS CanvasRenderingContext2D interface: calling createRadialGradient(double,double,double,double,double,double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createPattern" with the proper type (19) 
+PASS CanvasRenderingContext2D interface: calling createPattern(CanvasImageSource,DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetX" with the proper type (20) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetY" with the proper type (21) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowBlur" with the proper type (22) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowColor" with the proper type (23) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "filter" with the proper type (24) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clearRect" with the proper type (25) 
+PASS CanvasRenderingContext2D interface: calling clearRect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillRect" with the proper type (26) 
+PASS CanvasRenderingContext2D interface: calling fillRect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeRect" with the proper type (27) 
+PASS CanvasRenderingContext2D interface: calling strokeRect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "beginPath" with the proper type (28) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill" with the proper type (29) 
+PASS CanvasRenderingContext2D interface: calling fill(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill" with the proper type (30) 
+PASS CanvasRenderingContext2D interface: calling fill(Path2D,CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke" with the proper type (31) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke" with the proper type (32) 
+PASS CanvasRenderingContext2D interface: calling stroke(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip" with the proper type (33) 
+PASS CanvasRenderingContext2D interface: calling clip(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip" with the proper type (34) 
+PASS CanvasRenderingContext2D interface: calling clip(Path2D,CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetClip" with the proper type (35) assert_inherits: property "resetClip" not found in prototype chain
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath" with the proper type (36) 
+PASS CanvasRenderingContext2D interface: calling isPointInPath(unrestricted double,unrestricted double,CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath" with the proper type (37) 
+PASS CanvasRenderingContext2D interface: calling isPointInPath(Path2D,unrestricted double,unrestricted double,CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke" with the proper type (38) 
+PASS CanvasRenderingContext2D interface: calling isPointInStroke(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke" with the proper type (39) 
+PASS CanvasRenderingContext2D interface: calling isPointInStroke(Path2D,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded" with the proper type (40) 
+PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded" with the proper type (41) 
+PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Path2D,Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView" with the proper type (42) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView" with the proper type (43) 
+PASS CanvasRenderingContext2D interface: calling scrollPathIntoView(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillText" with the proper type (44) 
+PASS CanvasRenderingContext2D interface: calling fillText(DOMString,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeText" with the proper type (45) 
+PASS CanvasRenderingContext2D interface: calling strokeText(DOMString,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "measureText" with the proper type (46) 
+PASS CanvasRenderingContext2D interface: calling measureText(DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage" with the proper type (47) 
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage" with the proper type (48) 
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage" with the proper type (49) 
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "addHitRegion" with the proper type (50) 
+PASS CanvasRenderingContext2D interface: calling addHitRegion(HitRegionOptions) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "removeHitRegion" with the proper type (51) 
+PASS CanvasRenderingContext2D interface: calling removeHitRegion(DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clearHitRegions" with the proper type (52) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData" with the proper type (53) 
+PASS CanvasRenderingContext2D interface: calling createImageData(double,double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData" with the proper type (54) 
+PASS CanvasRenderingContext2D interface: calling createImageData(ImageData) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getImageData" with the proper type (55) 
+PASS CanvasRenderingContext2D interface: calling getImageData(double,double,double,double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData" with the proper type (56) 
+PASS CanvasRenderingContext2D interface: calling putImageData(ImageData,double,double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData" with the proper type (57) 
+PASS CanvasRenderingContext2D interface: calling putImageData(ImageData,double,double,double,double,double,double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineWidth" with the proper type (58) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineCap" with the proper type (59) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineJoin" with the proper type (60) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "miterLimit" with the proper type (61) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setLineDash" with the proper type (62) 
+PASS CanvasRenderingContext2D interface: calling setLineDash([object Object]) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getLineDash" with the proper type (63) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineDashOffset" with the proper type (64) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "font" with the proper type (65) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textAlign" with the proper type (66) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textBaseline" with the proper type (67) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "direction" with the proper type (68) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "closePath" with the proper type (69) 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "moveTo" with the proper type (70) 
+PASS CanvasRenderingContext2D interface: calling moveTo(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineTo" with the proper type (71) 
+PASS CanvasRenderingContext2D interface: calling lineTo(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "quadraticCurveTo" with the proper type (72) 
+PASS CanvasRenderingContext2D interface: calling quadraticCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "bezierCurveTo" with the proper type (73) 
+PASS CanvasRenderingContext2D interface: calling bezierCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arcTo" with the proper type (74) 
+PASS CanvasRenderingContext2D interface: calling arcTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arcTo" with the proper type (75) 
+PASS CanvasRenderingContext2D interface: calling arcTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rect" with the proper type (76) 
+PASS CanvasRenderingContext2D interface: calling rect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arc" with the proper type (77) 
+PASS CanvasRenderingContext2D interface: calling arc(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "ellipse" with the proper type (78) 
+PASS CanvasRenderingContext2D interface: calling ellipse(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError 
+PASS CanvasGradient interface: existence and properties of interface object 
+PASS CanvasGradient interface object length 
+PASS CanvasGradient interface object name 
+PASS CanvasGradient interface: existence and properties of interface prototype object 
+PASS CanvasGradient interface: existence and properties of interface prototype object's "constructor" property 
+PASS CanvasGradient interface: operation addColorStop(double,DOMString) 
+PASS CanvasPattern interface: existence and properties of interface object 
+PASS CanvasPattern interface object length 
+PASS CanvasPattern interface object name 
+PASS CanvasPattern interface: existence and properties of interface prototype object 
+PASS CanvasPattern interface: existence and properties of interface prototype object's "constructor" property 
+FAIL CanvasPattern interface: operation setTransform(DOMMatrixInit) assert_equals: property has wrong .length expected 0 but got 1
+PASS TextMetrics interface: existence and properties of interface object 
+PASS TextMetrics interface object length 
+PASS TextMetrics interface object name 
+PASS TextMetrics interface: existence and properties of interface prototype object 
+PASS TextMetrics interface: existence and properties of interface prototype object's "constructor" property 
+PASS TextMetrics interface: attribute width 
+PASS TextMetrics interface: attribute actualBoundingBoxLeft 
+PASS TextMetrics interface: attribute actualBoundingBoxRight 
+PASS TextMetrics interface: attribute fontBoundingBoxAscent 
+PASS TextMetrics interface: attribute fontBoundingBoxDescent 
+PASS TextMetrics interface: attribute actualBoundingBoxAscent 
+PASS TextMetrics interface: attribute actualBoundingBoxDescent 
+PASS TextMetrics interface: attribute emHeightAscent 
+PASS TextMetrics interface: attribute emHeightDescent 
+PASS TextMetrics interface: attribute hangingBaseline 
+PASS TextMetrics interface: attribute alphabeticBaseline 
+PASS TextMetrics interface: attribute ideographicBaseline 
+PASS ImageData interface: existence and properties of interface object 
+PASS ImageData interface object length 
+PASS ImageData interface object name 
+PASS ImageData interface: existence and properties of interface prototype object 
+PASS ImageData interface: existence and properties of interface prototype object's "constructor" property 
+PASS ImageData interface: attribute width 
+PASS ImageData interface: attribute height 
+PASS ImageData interface: attribute data 
+PASS Path2D interface: existence and properties of interface object 
+PASS Path2D interface object length 
+PASS Path2D interface object name 
+PASS Path2D interface: existence and properties of interface prototype object 
+PASS Path2D interface: existence and properties of interface prototype object's "constructor" property 
+PASS Path2D interface: operation addPath(Path2D,DOMMatrixInit) 
+PASS Path2D interface: operation closePath() 
+PASS Path2D interface: operation moveTo(unrestricted double,unrestricted double) 
+PASS Path2D interface: operation lineTo(unrestricted double,unrestricted double) 
+PASS Path2D interface: operation quadraticCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS Path2D interface: operation bezierCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS Path2D interface: operation arcTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS Path2D interface: operation arcTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS Path2D interface: operation rect(unrestricted double,unrestricted double,unrestricted double,unrestricted double) 
+PASS Path2D interface: operation arc(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,boolean) 
+PASS Path2D interface: operation ellipse(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,boolean) 
+FAIL DataTransfer interface: existence and properties of interface object assert_throws: interface object didn't throw TypeError when called as a constructor function "function () { [native code] }" did not throw
+PASS DataTransfer interface object length 
+PASS DataTransfer interface object name 
+PASS DataTransfer interface: existence and properties of interface prototype object 
+PASS DataTransfer interface: existence and properties of interface prototype object's "constructor" property 
+PASS DataTransfer interface: attribute dropEffect 
+PASS DataTransfer interface: attribute effectAllowed 
+PASS DataTransfer interface: attribute items 
+PASS DataTransfer interface: operation setDragImage(Element,long,long) 
+PASS DataTransfer interface: attribute types 
+PASS DataTransfer interface: operation getData(DOMString) 
+PASS DataTransfer interface: operation setData(DOMString,DOMString) 
+PASS DataTransfer interface: operation clearData(DOMString) 
+PASS DataTransfer interface: attribute files 
+PASS DataTransferItemList interface: existence and properties of interface object 
+PASS DataTransferItemList interface object length 
+PASS DataTransferItemList interface object name 
+PASS DataTransferItemList interface: existence and properties of interface prototype object 
+PASS DataTransferItemList interface: existence and properties of interface prototype object's "constructor" property 
+PASS DataTransferItemList interface: attribute length 
+PASS DataTransferItemList interface: operation add(DOMString,DOMString) 
+PASS DataTransferItemList interface: operation add(File) 
+PASS DataTransferItemList interface: operation remove(unsigned long) 
+PASS DataTransferItemList interface: operation clear() 
+PASS DataTransferItem interface: existence and properties of interface object 
+PASS DataTransferItem interface object length 
+PASS DataTransferItem interface object name 
+PASS DataTransferItem interface: existence and properties of interface prototype object 
+PASS DataTransferItem interface: existence and properties of interface prototype object's "constructor" property 
+PASS DataTransferItem interface: attribute kind 
+PASS DataTransferItem interface: attribute type 
+PASS DataTransferItem interface: operation getAsString(FunctionStringCallback) 
+PASS DataTransferItem interface: operation getAsFile() 
+PASS DragEvent interface: existence and properties of interface object 
+PASS DragEvent interface object length 
+PASS DragEvent interface object name 
+PASS DragEvent interface: existence and properties of interface prototype object 
+PASS DragEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS DragEvent interface: attribute dataTransfer 
+PASS Window interface: existence and properties of interface object 
+PASS Window interface object length 
+PASS Window interface object name 
+PASS Window interface: existence and properties of interface prototype object 
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError 
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError 
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false 
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw 
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw 
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true 
+PASS Window interface: existence and properties of interface prototype object's "constructor" property 
+FAIL Window interface: attribute self assert_equals: "self" must have a getter expected "function" but got "undefined"
+PASS Window interface: attribute name 
+PASS Window interface: attribute history 
+PASS Window interface: attribute locationbar 
+PASS Window interface: attribute menubar 
+PASS Window interface: attribute personalbar 
+PASS Window interface: attribute scrollbars 
+PASS Window interface: attribute statusbar 
+PASS Window interface: attribute toolbar 
+PASS Window interface: attribute status 
+PASS Window interface: operation close() 
+FAIL Window interface: attribute closed assert_equals: "closed" must have a getter expected "function" but got "undefined"
+PASS Window interface: operation stop() 
+PASS Window interface: operation focus() 
+PASS Window interface: operation blur() 
+FAIL Window interface: attribute frames assert_equals: "frames" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute length assert_equals: "length" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute opener assert_equals: "opener" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute parent assert_equals: "parent" must have a getter expected "function" but got "undefined"
+PASS Window interface: attribute frameElement 
+FAIL Window interface: operation open(DOMString,DOMString,DOMString,boolean) assert_equals: property has wrong .length expected 0 but got 2
+PASS Window interface: attribute navigator 
+PASS Window interface: attribute external 
+PASS Window interface: attribute applicationCache 
+PASS Window interface: operation alert() 
+PASS Window interface: operation confirm(DOMString) 
+PASS Window interface: operation prompt(DOMString,DOMString) 
+PASS Window interface: operation print() 
+PASS Window interface: operation postMessage(any,DOMString,[object Object]) 
+PASS Window interface: operation captureEvents() 
+PASS Window interface: operation releaseEvents() 
+PASS Window interface: attribute onabort 
+PASS Window interface: attribute onauxclick 
+PASS Window interface: attribute onblur 
+PASS Window interface: attribute oncancel 
+PASS Window interface: attribute oncanplay 
+PASS Window interface: attribute oncanplaythrough 
+PASS Window interface: attribute onchange 
+PASS Window interface: attribute onclick 
+PASS Window interface: attribute onclose 
+PASS Window interface: attribute oncontextmenu 
+PASS Window interface: attribute oncuechange 
+PASS Window interface: attribute ondblclick 
+PASS Window interface: attribute ondrag 
+PASS Window interface: attribute ondragend 
+PASS Window interface: attribute ondragenter 
+FAIL Window interface: attribute ondragexit assert_own_property: The global object must have a property "ondragexit" expected property "ondragexit" missing
+PASS Window interface: attribute ondragleave 
+PASS Window interface: attribute ondragover 
+PASS Window interface: attribute ondragstart 
+PASS Window interface: attribute ondrop 
+PASS Window interface: attribute ondurationchange 
+PASS Window interface: attribute onemptied 
+PASS Window interface: attribute onended 
+PASS Window interface: attribute onerror 
+PASS Window interface: attribute onfocus 
+PASS Window interface: attribute oninput 
+PASS Window interface: attribute oninvalid 
+PASS Window interface: attribute onkeydown 
+PASS Window interface: attribute onkeypress 
+PASS Window interface: attribute onkeyup 
+PASS Window interface: attribute onload 
+PASS Window interface: attribute onloadeddata 
+PASS Window interface: attribute onloadedmetadata 
+FAIL Window interface: attribute onloadend assert_own_property: The global object must have a property "onloadend" expected property "onloadend" missing
+PASS Window interface: attribute onloadstart 
+PASS Window interface: attribute onmousedown 
+PASS Window interface: attribute onmouseenter 
+PASS Window interface: attribute onmouseleave 
+PASS Window interface: attribute onmousemove 
+PASS Window interface: attribute onmouseout 
+PASS Window interface: attribute onmouseover 
+PASS Window interface: attribute onmouseup 
+PASS Window interface: attribute onwheel 
+PASS Window interface: attribute onpause 
+PASS Window interface: attribute onplay 
+PASS Window interface: attribute onplaying 
+PASS Window interface: attribute onprogress 
+PASS Window interface: attribute onratechange 
+PASS Window interface: attribute onreset 
+PASS Window interface: attribute onresize 
+PASS Window interface: attribute onscroll 
+PASS Window interface: attribute onseeked 
+PASS Window interface: attribute onseeking 
+PASS Window interface: attribute onselect 
+PASS Window interface: attribute onstalled 
+PASS Window interface: attribute onsubmit 
+PASS Window interface: attribute onsuspend 
+PASS Window interface: attribute ontimeupdate 
+PASS Window interface: attribute ontoggle 
+PASS Window interface: attribute onvolumechange 
+PASS Window interface: attribute onwaiting 
+FAIL Window interface: attribute onafterprint assert_own_property: The global object must have a property "onafterprint" expected property "onafterprint" missing
+FAIL Window interface: attribute onbeforeprint assert_own_property: The global object must have a property "onbeforeprint" expected property "onbeforeprint" missing
+PASS Window interface: attribute onbeforeunload 
+PASS Window interface: attribute onhashchange 
+PASS Window interface: attribute onlanguagechange 
+PASS Window interface: attribute onmessage 
+PASS Window interface: attribute onmessageerror 
+PASS Window interface: attribute onoffline 
+PASS Window interface: attribute ononline 
+PASS Window interface: attribute onpagehide 
+PASS Window interface: attribute onpageshow 
+PASS Window interface: attribute onpopstate 
+PASS Window interface: attribute onrejectionhandled 
+PASS Window interface: attribute onstorage 
+PASS Window interface: attribute onunhandledrejection 
+PASS Window interface: attribute onunload 
+PASS Window interface: attribute origin 
+PASS Window interface: operation btoa(DOMString) 
+PASS Window interface: operation atob(DOMString) 
+PASS Window interface: operation setTimeout(TimerHandler,long,any) 
+PASS Window interface: operation clearTimeout(long) 
+PASS Window interface: operation setInterval(TimerHandler,long,any) 
+PASS Window interface: operation clearInterval(long) 
+PASS Window interface: operation createImageBitmap(ImageBitmapSource,ImageBitmapOptions) 
+PASS Window interface: operation createImageBitmap(ImageBitmapSource,long,long,long,long,ImageBitmapOptions) 
+PASS Window interface: attribute sessionStorage 
+PASS Window interface: attribute localStorage 
+PASS Window must be primary interface of window 
+PASS Stringification of window 
+FAIL Window interface: window must have own property "window" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Window interface: window must inherit property "self" with the proper type (1) 
+PASS Window interface: window must have own property "document" 
+PASS Window interface: window must inherit property "name" with the proper type (3) 
+FAIL Window interface: window must have own property "location" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Window interface: window must inherit property "history" with the proper type (5) 
+PASS Window interface: window must inherit property "locationbar" with the proper type (6) 
+PASS Window interface: window must inherit property "menubar" with the proper type (7) 
+PASS Window interface: window must inherit property "personalbar" with the proper type (8) 
+PASS Window interface: window must inherit property "scrollbars" with the proper type (9) 
+PASS Window interface: window must inherit property "statusbar" with the proper type (10) 
+PASS Window interface: window must inherit property "toolbar" with the proper type (11) 
+PASS Window interface: window must inherit property "status" with the proper type (12) 
+PASS Window interface: window must inherit property "close" with the proper type (13) 
+PASS Window interface: window must inherit property "closed" with the proper type (14) 
+PASS Window interface: window must inherit property "stop" with the proper type (15) 
+PASS Window interface: window must inherit property "focus" with the proper type (16) 
+PASS Window interface: window must inherit property "blur" with the proper type (17) 
+PASS Window interface: window must inherit property "frames" with the proper type (18) 
+PASS Window interface: window must inherit property "length" with the proper type (19) 
+FAIL Window interface: window must have own property "top" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Window interface: window must inherit property "opener" with the proper type (21) 
+PASS Window interface: window must inherit property "parent" with the proper type (22) 
+PASS Window interface: window must inherit property "frameElement" with the proper type (23) 
+PASS Window interface: window must inherit property "open" with the proper type (24) 
+PASS Window interface: calling open(DOMString,DOMString,DOMString,boolean) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "navigator" with the proper type (27) 
+PASS Window interface: window must inherit property "external" with the proper type (28) 
+PASS Window interface: window must inherit property "applicationCache" with the proper type (29) 
+PASS Window interface: window must inherit property "alert" with the proper type (30) 
+PASS Window interface: window must inherit property "confirm" with the proper type (31) 
+PASS Window interface: calling confirm(DOMString) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "prompt" with the proper type (32) 
+PASS Window interface: calling prompt(DOMString,DOMString) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "print" with the proper type (33) 
+PASS Window interface: window must inherit property "postMessage" with the proper type (34) 
+PASS Window interface: calling postMessage(any,DOMString,[object Object]) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "captureEvents" with the proper type (35) 
+PASS Window interface: window must inherit property "releaseEvents" with the proper type (36) 
+PASS Window interface: window must inherit property "onabort" with the proper type (37) 
+PASS Window interface: window must inherit property "onauxclick" with the proper type (38) 
+PASS Window interface: window must inherit property "onblur" with the proper type (39) 
+PASS Window interface: window must inherit property "oncancel" with the proper type (40) 
+PASS Window interface: window must inherit property "oncanplay" with the proper type (41) 
+PASS Window interface: window must inherit property "oncanplaythrough" with the proper type (42) 
+PASS Window interface: window must inherit property "onchange" with the proper type (43) 
+PASS Window interface: window must inherit property "onclick" with the proper type (44) 
+PASS Window interface: window must inherit property "onclose" with the proper type (45) 
+PASS Window interface: window must inherit property "oncontextmenu" with the proper type (46) 
+PASS Window interface: window must inherit property "oncuechange" with the proper type (47) 
+PASS Window interface: window must inherit property "ondblclick" with the proper type (48) 
+PASS Window interface: window must inherit property "ondrag" with the proper type (49) 
+PASS Window interface: window must inherit property "ondragend" with the proper type (50) 
+PASS Window interface: window must inherit property "ondragenter" with the proper type (51) 
+FAIL Window interface: window must inherit property "ondragexit" with the proper type (52) assert_own_property: expected property "ondragexit" missing
+PASS Window interface: window must inherit property "ondragleave" with the proper type (53) 
+PASS Window interface: window must inherit property "ondragover" with the proper type (54) 
+PASS Window interface: window must inherit property "ondragstart" with the proper type (55) 
+PASS Window interface: window must inherit property "ondrop" with the proper type (56) 
+PASS Window interface: window must inherit property "ondurationchange" with the proper type (57) 
+PASS Window interface: window must inherit property "onemptied" with the proper type (58) 
+PASS Window interface: window must inherit property "onended" with the proper type (59) 
+PASS Window interface: window must inherit property "onerror" with the proper type (60) 
+PASS Window interface: window must inherit property "onfocus" with the proper type (61) 
+PASS Window interface: window must inherit property "oninput" with the proper type (62) 
+PASS Window interface: window must inherit property "oninvalid" with the proper type (63) 
+PASS Window interface: window must inherit property "onkeydown" with the proper type (64) 
+PASS Window interface: window must inherit property "onkeypress" with the proper type (65) 
+PASS Window interface: window must inherit property "onkeyup" with the proper type (66) 
+PASS Window interface: window must inherit property "onload" with the proper type (67) 
+PASS Window interface: window must inherit property "onloadeddata" with the proper type (68) 
+PASS Window interface: window must inherit property "onloadedmetadata" with the proper type (69) 
+FAIL Window interface: window must inherit property "onloadend" with the proper type (70) assert_own_property: expected property "onloadend" missing
+PASS Window interface: window must inherit property "onloadstart" with the proper type (71) 
+PASS Window interface: window must inherit property "onmousedown" with the proper type (72) 
+PASS Window interface: window must inherit property "onmouseenter" with the proper type (73) 
+PASS Window interface: window must inherit property "onmouseleave" with the proper type (74) 
+PASS Window interface: window must inherit property "onmousemove" with the proper type (75) 
+PASS Window interface: window must inherit property "onmouseout" with the proper type (76) 
+PASS Window interface: window must inherit property "onmouseover" with the proper type (77) 
+PASS Window interface: window must inherit property "onmouseup" with the proper type (78) 
+PASS Window interface: window must inherit property "onwheel" with the proper type (79) 
+PASS Window interface: window must inherit property "onpause" with the proper type (80) 
+PASS Window interface: window must inherit property "onplay" with the proper type (81) 
+PASS Window interface: window must inherit property "onplaying" with the proper type (82) 
+PASS Window interface: window must inherit property "onprogress" with the proper type (83) 
+PASS Window interface: window must inherit property "onratechange" with the proper type (84) 
+PASS Window interface: window must inherit property "onreset" with the proper type (85) 
+PASS Window interface: window must inherit property "onresize" with the proper type (86) 
+PASS Window interface: window must inherit property "onscroll" with the proper type (87) 
+PASS Window interface: window must inherit property "onseeked" with the proper type (88) 
+PASS Window interface: window must inherit property "onseeking" with the proper type (89) 
+PASS Window interface: window must inherit property "onselect" with the proper type (90) 
+PASS Window interface: window must inherit property "onstalled" with the proper type (91) 
+PASS Window interface: window must inherit property "onsubmit" with the proper type (92) 
+PASS Window interface: window must inherit property "onsuspend" with the proper type (93) 
+PASS Window interface: window must inherit property "ontimeupdate" with the proper type (94) 
+PASS Window interface: window must inherit property "ontoggle" with the proper type (95) 
+PASS Window interface: window must inherit property "onvolumechange" with the proper type (96) 
+PASS Window interface: window must inherit property "onwaiting" with the proper type (97) 
+FAIL Window interface: window must inherit property "onafterprint" with the proper type (98) assert_own_property: expected property "onafterprint" missing
+FAIL Window interface: window must inherit property "onbeforeprint" with the proper type (99) assert_own_property: expected property "onbeforeprint" missing
+PASS Window interface: window must inherit property "onbeforeunload" with the proper type (100) 
+PASS Window interface: window must inherit property "onhashchange" with the proper type (101) 
+PASS Window interface: window must inherit property "onlanguagechange" with the proper type (102) 
+PASS Window interface: window must inherit property "onmessage" with the proper type (103) 
+PASS Window interface: window must inherit property "onmessageerror" with the proper type (104) 
+PASS Window interface: window must inherit property "onoffline" with the proper type (105) 
+PASS Window interface: window must inherit property "ononline" with the proper type (106) 
+PASS Window interface: window must inherit property "onpagehide" with the proper type (107) 
+PASS Window interface: window must inherit property "onpageshow" with the proper type (108) 
+PASS Window interface: window must inherit property "onpopstate" with the proper type (109) 
+PASS Window interface: window must inherit property "onrejectionhandled" with the proper type (110) 
+PASS Window interface: window must inherit property "onstorage" with the proper type (111) 
+PASS Window interface: window must inherit property "onunhandledrejection" with the proper type (112) 
+PASS Window interface: window must inherit property "onunload" with the proper type (113) 
+PASS Window interface: window must inherit property "origin" with the proper type (114) 
+PASS Window interface: window must inherit property "btoa" with the proper type (115) 
+PASS Window interface: calling btoa(DOMString) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "atob" with the proper type (116) 
+PASS Window interface: calling atob(DOMString) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "setTimeout" with the proper type (117) 
+PASS Window interface: calling setTimeout(TimerHandler,long,any) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "clearTimeout" with the proper type (118) 
+PASS Window interface: calling clearTimeout(long) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "setInterval" with the proper type (119) 
+PASS Window interface: calling setInterval(TimerHandler,long,any) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "clearInterval" with the proper type (120) 
+PASS Window interface: calling clearInterval(long) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "createImageBitmap" with the proper type (121) 
+PASS Window interface: calling createImageBitmap(ImageBitmapSource,ImageBitmapOptions) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "createImageBitmap" with the proper type (122) 
+PASS Window interface: calling createImageBitmap(ImageBitmapSource,long,long,long,long,ImageBitmapOptions) on window with too few arguments must throw TypeError 
+PASS Window interface: window must inherit property "sessionStorage" with the proper type (123) 
+PASS Window interface: window must inherit property "localStorage" with the proper type (124) 
+PASS BarProp interface: existence and properties of interface object 
+PASS BarProp interface object length 
+PASS BarProp interface object name 
+PASS BarProp interface: existence and properties of interface prototype object 
+PASS BarProp interface: existence and properties of interface prototype object's "constructor" property 
+PASS BarProp interface: attribute visible 
+PASS History interface: existence and properties of interface object 
+PASS History interface object length 
+PASS History interface object name 
+PASS History interface: existence and properties of interface prototype object 
+PASS History interface: existence and properties of interface prototype object's "constructor" property 
+PASS History interface: attribute length 
+PASS History interface: attribute scrollRestoration 
+PASS History interface: attribute state 
+PASS History interface: operation go(long) 
+PASS History interface: operation back() 
+PASS History interface: operation forward() 
+PASS History interface: operation pushState(any,DOMString,DOMString) 
+PASS History interface: operation replaceState(any,DOMString,DOMString) 
+PASS History must be primary interface of window.history 
+PASS Stringification of window.history 
+PASS History interface: window.history must inherit property "length" with the proper type (0) 
+PASS History interface: window.history must inherit property "scrollRestoration" with the proper type (1) 
+PASS History interface: window.history must inherit property "state" with the proper type (2) 
+PASS History interface: window.history must inherit property "go" with the proper type (3) 
+PASS History interface: calling go(long) on window.history with too few arguments must throw TypeError 
+PASS History interface: window.history must inherit property "back" with the proper type (4) 
+PASS History interface: window.history must inherit property "forward" with the proper type (5) 
+PASS History interface: window.history must inherit property "pushState" with the proper type (6) 
+PASS History interface: calling pushState(any,DOMString,DOMString) on window.history with too few arguments must throw TypeError 
+PASS History interface: window.history must inherit property "replaceState" with the proper type (7) 
+PASS History interface: calling replaceState(any,DOMString,DOMString) on window.history with too few arguments must throw TypeError 
+PASS Location interface: existence and properties of interface object 
+PASS Location interface object length 
+PASS Location interface object name 
+PASS Location interface: existence and properties of interface prototype object 
+PASS Location interface: existence and properties of interface prototype object's "constructor" property 
+FAIL Location interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing
+PASS Location must be primary interface of window.location 
+PASS Stringification of window.location 
+FAIL Location interface: window.location must have own property "href" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Location interface: window.location must have own property "origin" 
+PASS Location interface: window.location must have own property "protocol" 
+PASS Location interface: window.location must have own property "host" 
+PASS Location interface: window.location must have own property "hostname" 
+PASS Location interface: window.location must have own property "port" 
+PASS Location interface: window.location must have own property "pathname" 
+PASS Location interface: window.location must have own property "search" 
+PASS Location interface: window.location must have own property "hash" 
+PASS Location interface: window.location must have own property "assign" 
+PASS Location interface: calling assign(USVString) on window.location with too few arguments must throw TypeError 
+PASS Location interface: window.location must have own property "replace" 
+PASS Location interface: calling replace(USVString) on window.location with too few arguments must throw TypeError 
+PASS Location interface: window.location must have own property "reload" 
+PASS Location interface: window.location must have own property "ancestorOrigins" 
+PASS PopStateEvent interface: existence and properties of interface object 
+PASS PopStateEvent interface object length 
+PASS PopStateEvent interface object name 
+PASS PopStateEvent interface: existence and properties of interface prototype object 
+PASS PopStateEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS PopStateEvent interface: attribute state 
+PASS PopStateEvent must be primary interface of new PopStateEvent("popstate", { data: {} }) 
+PASS Stringification of new PopStateEvent("popstate", { data: {} }) 
+PASS PopStateEvent interface: new PopStateEvent("popstate", { data: {} }) must inherit property "state" with the proper type (0) 
+PASS HashChangeEvent interface: existence and properties of interface object 
+PASS HashChangeEvent interface object length 
+PASS HashChangeEvent interface object name 
+PASS HashChangeEvent interface: existence and properties of interface prototype object 
+PASS HashChangeEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS HashChangeEvent interface: attribute oldURL 
+PASS HashChangeEvent interface: attribute newURL 
+PASS PageTransitionEvent interface: existence and properties of interface object 
+PASS PageTransitionEvent interface object length 
+PASS PageTransitionEvent interface object name 
+PASS PageTransitionEvent interface: existence and properties of interface prototype object 
+PASS PageTransitionEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS PageTransitionEvent interface: attribute persisted 
+PASS BeforeUnloadEvent interface: existence and properties of interface object 
+PASS BeforeUnloadEvent interface object length 
+PASS BeforeUnloadEvent interface object name 
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object 
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS BeforeUnloadEvent interface: attribute returnValue 
+PASS ApplicationCache interface: existence and properties of interface object 
+PASS ApplicationCache interface object length 
+PASS ApplicationCache interface object name 
+PASS ApplicationCache interface: existence and properties of interface prototype object 
+PASS ApplicationCache interface: existence and properties of interface prototype object's "constructor" property 
+PASS ApplicationCache interface: constant UNCACHED on interface object 
+PASS ApplicationCache interface: constant UNCACHED on interface prototype object 
+PASS ApplicationCache interface: constant IDLE on interface object 
+PASS ApplicationCache interface: constant IDLE on interface prototype object 
+PASS ApplicationCache interface: constant CHECKING on interface object 
+PASS ApplicationCache interface: constant CHECKING on interface prototype object 
+PASS ApplicationCache interface: constant DOWNLOADING on interface object 
+PASS ApplicationCache interface: constant DOWNLOADING on interface prototype object 
+PASS ApplicationCache interface: constant UPDATEREADY on interface object 
+PASS ApplicationCache interface: constant UPDATEREADY on interface prototype object 
+PASS ApplicationCache interface: constant OBSOLETE on interface object 
+PASS ApplicationCache interface: constant OBSOLETE on interface prototype object 
+PASS ApplicationCache interface: attribute status 
+PASS ApplicationCache interface: operation update() 
+PASS ApplicationCache interface: operation abort() 
+PASS ApplicationCache interface: operation swapCache() 
+PASS ApplicationCache interface: attribute onchecking 
+PASS ApplicationCache interface: attribute onerror 
+PASS ApplicationCache interface: attribute onnoupdate 
+PASS ApplicationCache interface: attribute ondownloading 
+PASS ApplicationCache interface: attribute onprogress 
+PASS ApplicationCache interface: attribute onupdateready 
+PASS ApplicationCache interface: attribute oncached 
+PASS ApplicationCache interface: attribute onobsolete 
+PASS ApplicationCache must be primary interface of window.applicationCache 
+PASS Stringification of window.applicationCache 
+PASS ApplicationCache interface: window.applicationCache must inherit property "UNCACHED" with the proper type (0) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "IDLE" with the proper type (1) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "CHECKING" with the proper type (2) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "DOWNLOADING" with the proper type (3) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "UPDATEREADY" with the proper type (4) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "OBSOLETE" with the proper type (5) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "status" with the proper type (6) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "update" with the proper type (7) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "abort" with the proper type (8) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "swapCache" with the proper type (9) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "onchecking" with the proper type (10) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "onerror" with the proper type (11) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "onnoupdate" with the proper type (12) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "ondownloading" with the proper type (13) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "onprogress" with the proper type (14) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "onupdateready" with the proper type (15) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "oncached" with the proper type (16) 
+PASS ApplicationCache interface: window.applicationCache must inherit property "onobsolete" with the proper type (17) 
+PASS ErrorEvent interface: existence and properties of interface object 
+PASS ErrorEvent interface object length 
+PASS ErrorEvent interface object name 
+PASS ErrorEvent interface: existence and properties of interface prototype object 
+PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS ErrorEvent interface: attribute message 
+PASS ErrorEvent interface: attribute filename 
+PASS ErrorEvent interface: attribute lineno 
+PASS ErrorEvent interface: attribute colno 
+PASS ErrorEvent interface: attribute error 
+PASS Navigator interface: existence and properties of interface object 
+PASS Navigator interface object length 
+PASS Navigator interface object name 
+PASS Navigator interface: existence and properties of interface prototype object 
+PASS Navigator interface: existence and properties of interface prototype object's "constructor" property 
+PASS Navigator interface: attribute appCodeName 
+PASS Navigator interface: attribute appName 
+PASS Navigator interface: attribute appVersion 
+PASS Navigator interface: attribute platform 
+PASS Navigator interface: attribute product 
+PASS Navigator interface: attribute productSub 
+PASS Navigator interface: attribute userAgent 
+PASS Navigator interface: attribute vendor 
+PASS Navigator interface: attribute vendorSub 
+PASS Navigator interface: attribute language 
+PASS Navigator interface: attribute languages 
+PASS Navigator interface: attribute onLine 
+PASS Navigator interface: operation registerProtocolHandler(DOMString,USVString,DOMString) 
+FAIL Navigator interface: operation registerContentHandler(DOMString,USVString,DOMString) assert_own_property: interface prototype object missing non-static operation expected property "registerContentHandler" missing
+PASS Navigator interface: operation isProtocolHandlerRegistered(DOMString,USVString) 
+FAIL Navigator interface: operation isContentHandlerRegistered(DOMString,USVString) assert_own_property: interface prototype object missing non-static operation expected property "isContentHandlerRegistered" missing
+PASS Navigator interface: operation unregisterProtocolHandler(DOMString,USVString) 
+FAIL Navigator interface: operation unregisterContentHandler(DOMString,USVString) assert_own_property: interface prototype object missing non-static operation expected property "unregisterContentHandler" missing
+PASS Navigator interface: attribute cookieEnabled 
+PASS Navigator interface: attribute plugins 
+PASS Navigator interface: attribute mimeTypes 
+PASS Navigator interface: operation javaEnabled() 
+PASS Navigator interface: attribute hardwareConcurrency 
+PASS Navigator must be primary interface of window.navigator 
+PASS Stringification of window.navigator 
+PASS Navigator interface: window.navigator must inherit property "appCodeName" with the proper type (0) 
+PASS Navigator interface: window.navigator must inherit property "appName" with the proper type (1) 
+PASS Navigator interface: window.navigator must inherit property "appVersion" with the proper type (2) 
+PASS Navigator interface: window.navigator must inherit property "platform" with the proper type (3) 
+PASS Navigator interface: window.navigator must inherit property "product" with the proper type (4) 
+PASS Navigator interface: window.navigator must inherit property "productSub" with the proper type (5) 
+PASS Navigator interface: window.navigator must inherit property "userAgent" with the proper type (6) 
+PASS Navigator interface: window.navigator must inherit property "vendor" with the proper type (7) 
+PASS Navigator interface: window.navigator must inherit property "vendorSub" with the proper type (8) 
+PASS Navigator interface: window.navigator must inherit property "language" with the proper type (9) 
+PASS Navigator interface: window.navigator must inherit property "languages" with the proper type (10) 
+PASS Navigator interface: window.navigator must inherit property "onLine" with the proper type (11) 
+PASS Navigator interface: window.navigator must inherit property "registerProtocolHandler" with the proper type (12) 
+PASS Navigator interface: calling registerProtocolHandler(DOMString,USVString,DOMString) on window.navigator with too few arguments must throw TypeError 
+FAIL Navigator interface: window.navigator must inherit property "registerContentHandler" with the proper type (13) assert_inherits: property "registerContentHandler" not found in prototype chain
+FAIL Navigator interface: calling registerContentHandler(DOMString,USVString,DOMString) on window.navigator with too few arguments must throw TypeError assert_inherits: property "registerContentHandler" not found in prototype chain
+PASS Navigator interface: window.navigator must inherit property "isProtocolHandlerRegistered" with the proper type (14) 
+PASS Navigator interface: calling isProtocolHandlerRegistered(DOMString,USVString) on window.navigator with too few arguments must throw TypeError 
+FAIL Navigator interface: window.navigator must inherit property "isContentHandlerRegistered" with the proper type (15) assert_inherits: property "isContentHandlerRegistered" not found in prototype chain
+FAIL Navigator interface: calling isContentHandlerRegistered(DOMString,USVString) on window.navigator with too few arguments must throw TypeError assert_inherits: property "isContentHandlerRegistered" not found in prototype chain
+PASS Navigator interface: window.navigator must inherit property "unregisterProtocolHandler" with the proper type (16) 
+PASS Navigator interface: calling unregisterProtocolHandler(DOMString,USVString) on window.navigator with too few arguments must throw TypeError 
+FAIL Navigator interface: window.navigator must inherit property "unregisterContentHandler" with the proper type (17) assert_inherits: property "unregisterContentHandler" not found in prototype chain
+FAIL Navigator interface: calling unregisterContentHandler(DOMString,USVString) on window.navigator with too few arguments must throw TypeError assert_inherits: property "unregisterContentHandler" not found in prototype chain
+PASS Navigator interface: window.navigator must inherit property "cookieEnabled" with the proper type (18) 
+PASS Navigator interface: window.navigator must inherit property "plugins" with the proper type (19) 
+PASS Navigator interface: window.navigator must inherit property "mimeTypes" with the proper type (20) 
+PASS Navigator interface: window.navigator must inherit property "javaEnabled" with the proper type (21) 
+PASS Navigator interface: window.navigator must inherit property "hardwareConcurrency" with the proper type (22) 
+PASS PluginArray interface: existence and properties of interface object 
+PASS PluginArray interface object length 
+PASS PluginArray interface object name 
+PASS PluginArray interface: existence and properties of interface prototype object 
+PASS PluginArray interface: existence and properties of interface prototype object's "constructor" property 
+PASS PluginArray interface: operation refresh(boolean) 
+PASS PluginArray interface: attribute length 
+PASS PluginArray interface: operation item(unsigned long) 
+PASS PluginArray interface: operation namedItem(DOMString) 
+PASS MimeTypeArray interface: existence and properties of interface object 
+PASS MimeTypeArray interface object length 
+PASS MimeTypeArray interface object name 
+PASS MimeTypeArray interface: existence and properties of interface prototype object 
+PASS MimeTypeArray interface: existence and properties of interface prototype object's "constructor" property 
+PASS MimeTypeArray interface: attribute length 
+PASS MimeTypeArray interface: operation item(unsigned long) 
+PASS MimeTypeArray interface: operation namedItem(DOMString) 
+PASS Plugin interface: existence and properties of interface object 
+PASS Plugin interface object length 
+PASS Plugin interface object name 
+PASS Plugin interface: existence and properties of interface prototype object 
+PASS Plugin interface: existence and properties of interface prototype object's "constructor" property 
+PASS Plugin interface: attribute name 
+PASS Plugin interface: attribute description 
+PASS Plugin interface: attribute filename 
+PASS Plugin interface: attribute length 
+PASS Plugin interface: operation item(unsigned long) 
+PASS Plugin interface: operation namedItem(DOMString) 
+PASS MimeType interface: existence and properties of interface object 
+PASS MimeType interface object length 
+PASS MimeType interface object name 
+PASS MimeType interface: existence and properties of interface prototype object 
+PASS MimeType interface: existence and properties of interface prototype object's "constructor" property 
+PASS MimeType interface: attribute type 
+PASS MimeType interface: attribute description 
+PASS MimeType interface: attribute suffixes 
+PASS MimeType interface: attribute enabledPlugin 
+FAIL External interface: existence and properties of interface object assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External interface object length assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External interface object name assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External interface: existence and properties of interface prototype object assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External interface: operation AddSearchProvider(DOMString) assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External interface: operation IsSearchProviderInstalled(DOMString) assert_own_property: self does not have own property "External" expected property "External" missing
+FAIL External must be primary interface of window.external assert_own_property: self does not have own property "External" expected property "External" missing
+PASS Stringification of window.external 
+PASS External interface: window.external must inherit property "AddSearchProvider" with the proper type (0) 
+FAIL External interface: calling AddSearchProvider(DOMString) on window.external with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
+            fn.apply(obj, args);
+        }" did not throw
+PASS External interface: window.external must inherit property "IsSearchProviderInstalled" with the proper type (1) 
+FAIL External interface: calling IsSearchProviderInstalled(DOMString) on window.external with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
+            fn.apply(obj, args);
+        }" did not throw
+PASS ImageBitmap interface: existence and properties of interface object 
+PASS ImageBitmap interface object length 
+PASS ImageBitmap interface object name 
+PASS ImageBitmap interface: existence and properties of interface prototype object 
+PASS ImageBitmap interface: existence and properties of interface prototype object's "constructor" property 
+PASS ImageBitmap interface: attribute width 
+PASS ImageBitmap interface: attribute height 
+PASS MessageEvent interface: existence and properties of interface object 
+PASS MessageEvent interface object length 
+PASS MessageEvent interface object name 
+PASS MessageEvent interface: existence and properties of interface prototype object 
+PASS MessageEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS MessageEvent interface: attribute data 
+PASS MessageEvent interface: attribute origin 
+PASS MessageEvent interface: attribute lastEventId 
+PASS MessageEvent interface: attribute source 
+PASS MessageEvent interface: attribute ports 
+FAIL MessageEvent interface: operation initMessageEvent(DOMString,boolean,boolean,any,DOMString,DOMString,[object Object],[object Object],[object Object]) assert_equals: property has wrong .length expected 1 but got 0
+PASS MessageEvent must be primary interface of new MessageEvent("message", { data: 5 }) 
+PASS Stringification of new MessageEvent("message", { data: 5 }) 
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "data" with the proper type (0) 
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "origin" with the proper type (1) 
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "lastEventId" with the proper type (2) 
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "source" with the proper type (3) 
+FAIL MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type (4) assert_true: Value should be array expected true got false
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "initMessageEvent" with the proper type (5) 
+FAIL MessageEvent interface: calling initMessageEvent(DOMString,boolean,boolean,any,DOMString,DOMString,[object Object],[object Object],[object Object]) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
+            fn.apply(obj, args);
+        }" did not throw
+PASS EventSource interface: existence and properties of interface object 
+PASS EventSource interface object length 
+PASS EventSource interface object name 
+PASS EventSource interface: existence and properties of interface prototype object 
+PASS EventSource interface: existence and properties of interface prototype object's "constructor" property 
+PASS EventSource interface: attribute url 
+PASS EventSource interface: attribute withCredentials 
+PASS EventSource interface: constant CONNECTING on interface object 
+PASS EventSource interface: constant CONNECTING on interface prototype object 
+PASS EventSource interface: constant OPEN on interface object 
+PASS EventSource interface: constant OPEN on interface prototype object 
+PASS EventSource interface: constant CLOSED on interface object 
+PASS EventSource interface: constant CLOSED on interface prototype object 
+PASS EventSource interface: attribute readyState 
+PASS EventSource interface: attribute onopen 
+PASS EventSource interface: attribute onmessage 
+PASS EventSource interface: attribute onerror 
+PASS EventSource interface: operation close() 
+PASS WebSocket interface: existence and properties of interface object 
+PASS WebSocket interface object length 
+PASS WebSocket interface object name 
+PASS WebSocket interface: existence and properties of interface prototype object 
+PASS WebSocket interface: existence and properties of interface prototype object's "constructor" property 
+PASS WebSocket interface: attribute url 
+PASS WebSocket interface: constant CONNECTING on interface object 
+PASS WebSocket interface: constant CONNECTING on interface prototype object 
+PASS WebSocket interface: constant OPEN on interface object 
+PASS WebSocket interface: constant OPEN on interface prototype object 
+PASS WebSocket interface: constant CLOSING on interface object 
+PASS WebSocket interface: constant CLOSING on interface prototype object 
+PASS WebSocket interface: constant CLOSED on interface object 
+PASS WebSocket interface: constant CLOSED on interface prototype object 
+PASS WebSocket interface: attribute readyState 
+PASS WebSocket interface: attribute bufferedAmount 
+PASS WebSocket interface: attribute onopen 
+PASS WebSocket interface: attribute onerror 
+PASS WebSocket interface: attribute onclose 
+PASS WebSocket interface: attribute extensions 
+PASS WebSocket interface: attribute protocol 
+PASS WebSocket interface: operation close(unsigned short,USVString) 
+PASS WebSocket interface: attribute onmessage 
+PASS WebSocket interface: attribute binaryType 
+PASS WebSocket interface: operation send(USVString) 
+PASS WebSocket interface: operation send(Blob) 
+PASS WebSocket interface: operation send(ArrayBuffer) 
+PASS WebSocket interface: operation send(ArrayBufferView) 
+PASS WebSocket must be primary interface of new WebSocket("ws://foo") 
+PASS Stringification of new WebSocket("ws://foo") 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "url" with the proper type (0) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "CONNECTING" with the proper type (1) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "OPEN" with the proper type (2) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "CLOSING" with the proper type (3) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "CLOSED" with the proper type (4) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "readyState" with the proper type (5) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "bufferedAmount" with the proper type (6) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onopen" with the proper type (7) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onerror" with the proper type (8) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onclose" with the proper type (9) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "extensions" with the proper type (10) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "protocol" with the proper type (11) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "close" with the proper type (12) 
+PASS WebSocket interface: calling close(unsigned short,USVString) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "onmessage" with the proper type (13) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "binaryType" with the proper type (14) 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send" with the proper type (15) 
+PASS WebSocket interface: calling send(USVString) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send" with the proper type (16) 
+PASS WebSocket interface: calling send(Blob) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send" with the proper type (17) 
+PASS WebSocket interface: calling send(ArrayBuffer) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
+PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send" with the proper type (18) 
+PASS WebSocket interface: calling send(ArrayBufferView) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
+PASS CloseEvent interface: existence and properties of interface object 
+PASS CloseEvent interface object length 
+PASS CloseEvent interface object name 
+PASS CloseEvent interface: existence and properties of interface prototype object 
+PASS CloseEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS CloseEvent interface: attribute wasClean 
+PASS CloseEvent interface: attribute code 
+PASS CloseEvent interface: attribute reason 
+PASS CloseEvent must be primary interface of new CloseEvent("close") 
+PASS Stringification of new CloseEvent("close") 
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "wasClean" with the proper type (0) 
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "code" with the proper type (1) 
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "reason" with the proper type (2) 
+PASS MessageChannel interface: existence and properties of interface object 
+PASS MessageChannel interface object length 
+PASS MessageChannel interface object name 
+PASS MessageChannel interface: existence and properties of interface prototype object 
+PASS MessageChannel interface: existence and properties of interface prototype object's "constructor" property 
+PASS MessageChannel interface: attribute port1 
+PASS MessageChannel interface: attribute port2 
+PASS MessagePort interface: existence and properties of interface object 
+PASS MessagePort interface object length 
+PASS MessagePort interface object name 
+PASS MessagePort interface: existence and properties of interface prototype object 
+PASS MessagePort interface: existence and properties of interface prototype object's "constructor" property 
+PASS MessagePort interface: operation postMessage(any,[object Object]) 
+PASS MessagePort interface: operation start() 
+PASS MessagePort interface: operation close() 
+PASS MessagePort interface: attribute onmessage 
+PASS MessagePort interface: attribute onmessageerror 
+PASS BroadcastChannel interface: existence and properties of interface object 
+PASS BroadcastChannel interface object length 
+PASS BroadcastChannel interface object name 
+PASS BroadcastChannel interface: existence and properties of interface prototype object 
+PASS BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property 
+PASS BroadcastChannel interface: attribute name 
+PASS BroadcastChannel interface: operation postMessage(any) 
+PASS BroadcastChannel interface: operation close() 
+PASS BroadcastChannel interface: attribute onmessage 
+PASS BroadcastChannel interface: attribute onmessageerror 
+PASS WorkerGlobalScope interface: existence and properties of interface object 
+PASS DedicatedWorkerGlobalScope interface: existence and properties of interface object 
+PASS SharedWorkerGlobalScope interface: existence and properties of interface object 
+PASS Worker interface: existence and properties of interface object 
+PASS Worker interface object length 
+PASS Worker interface object name 
+PASS Worker interface: existence and properties of interface prototype object 
+PASS Worker interface: existence and properties of interface prototype object's "constructor" property 
+PASS Worker interface: operation terminate() 
+PASS Worker interface: operation postMessage(any,[object Object]) 
+PASS Worker interface: attribute onmessage 
+PASS Worker interface: attribute onerror 
+PASS SharedWorker interface: existence and properties of interface object 
+PASS SharedWorker interface object length 
+PASS SharedWorker interface object name 
+PASS SharedWorker interface: existence and properties of interface prototype object 
+PASS SharedWorker interface: existence and properties of interface prototype object's "constructor" property 
+PASS SharedWorker interface: attribute port 
+PASS SharedWorker interface: attribute onerror 
+PASS WorkerNavigator interface: existence and properties of interface object 
+PASS WorkerLocation interface: existence and properties of interface object 
+PASS Storage interface: existence and properties of interface object 
+PASS Storage interface object length 
+PASS Storage interface object name 
+PASS Storage interface: existence and properties of interface prototype object 
+PASS Storage interface: existence and properties of interface prototype object's "constructor" property 
+FAIL Storage interface: attribute length assert_true: property should be enumerable expected true got false
+FAIL Storage interface: operation key(unsigned long) assert_true: property should be enumerable expected true got false
+FAIL Storage interface: operation getItem(DOMString) assert_true: property should be enumerable expected true got false
+FAIL Storage interface: operation setItem(DOMString,DOMString) assert_true: property should be enumerable expected true got false
+FAIL Storage interface: operation removeItem(DOMString) assert_true: property should be enumerable expected true got false
+FAIL Storage interface: operation clear() assert_true: property should be enumerable expected true got false
+PASS StorageEvent interface: existence and properties of interface object 
+PASS StorageEvent interface object length 
+PASS StorageEvent interface object name 
+PASS StorageEvent interface: existence and properties of interface prototype object 
+PASS StorageEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS StorageEvent interface: attribute key 
+PASS StorageEvent interface: attribute oldValue 
+PASS StorageEvent interface: attribute newValue 
+PASS StorageEvent interface: attribute url 
+PASS StorageEvent interface: attribute storageArea 
+FAIL HTMLAppletElement interface: existence and properties of interface object assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface object length assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface object name assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute align assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute alt assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute archive assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute code assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute codeBase assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute height assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute hspace assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute name assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute object assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute vspace assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement interface: attribute width assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL HTMLAppletElement must be primary interface of document.createElement("applet") assert_own_property: self does not have own property "HTMLAppletElement" expected property "HTMLAppletElement" missing
+FAIL Stringification of document.createElement("applet") assert_equals: class string of document.createElement("applet") expected "[object HTMLAppletElement]" but got "[object HTMLUnknownElement]"
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "align" with the proper type (0) assert_inherits: property "align" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "alt" with the proper type (1) assert_inherits: property "alt" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "archive" with the proper type (2) assert_inherits: property "archive" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "code" with the proper type (3) assert_inherits: property "code" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "codeBase" with the proper type (4) assert_inherits: property "codeBase" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "height" with the proper type (5) assert_inherits: property "height" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "hspace" with the proper type (6) assert_inherits: property "hspace" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "name" with the proper type (7) assert_inherits: property "name" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "object" with the proper type (8) assert_inherits: property "object" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "vspace" with the proper type (9) assert_inherits: property "vspace" not found in prototype chain
+FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "width" with the proper type (10) assert_inherits: property "width" not found in prototype chain
+PASS HTMLMarqueeElement interface: existence and properties of interface object 
+PASS HTMLMarqueeElement interface object length 
+PASS HTMLMarqueeElement interface object name 
+PASS HTMLMarqueeElement interface: existence and properties of interface prototype object 
+PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLMarqueeElement interface: attribute behavior 
+PASS HTMLMarqueeElement interface: attribute bgColor 
+PASS HTMLMarqueeElement interface: attribute direction 
+PASS HTMLMarqueeElement interface: attribute height 
+PASS HTMLMarqueeElement interface: attribute hspace 
+PASS HTMLMarqueeElement interface: attribute loop 
+PASS HTMLMarqueeElement interface: attribute scrollAmount 
+PASS HTMLMarqueeElement interface: attribute scrollDelay 
+PASS HTMLMarqueeElement interface: attribute trueSpeed 
+PASS HTMLMarqueeElement interface: attribute vspace 
+PASS HTMLMarqueeElement interface: attribute width 
+FAIL HTMLMarqueeElement interface: attribute onbounce assert_true: The prototype object must have a property "onbounce" expected true got false
+FAIL HTMLMarqueeElement interface: attribute onfinish assert_true: The prototype object must have a property "onfinish" expected true got false
+FAIL HTMLMarqueeElement interface: attribute onstart assert_true: The prototype object must have a property "onstart" expected true got false
+PASS HTMLMarqueeElement interface: operation start() 
+PASS HTMLMarqueeElement interface: operation stop() 
+PASS HTMLMarqueeElement must be primary interface of document.createElement("marquee") 
+PASS Stringification of document.createElement("marquee") 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "behavior" with the proper type (0) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "bgColor" with the proper type (1) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "direction" with the proper type (2) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "height" with the proper type (3) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "hspace" with the proper type (4) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "loop" with the proper type (5) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollAmount" with the proper type (6) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollDelay" with the proper type (7) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "trueSpeed" with the proper type (8) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "vspace" with the proper type (9) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "width" with the proper type (10) 
+FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onbounce" with the proper type (11) assert_inherits: property "onbounce" not found in prototype chain
+FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onfinish" with the proper type (12) assert_inherits: property "onfinish" not found in prototype chain
+FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onstart" with the proper type (13) assert_inherits: property "onstart" not found in prototype chain
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "start" with the proper type (14) 
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop" with the proper type (15) 
+PASS HTMLFrameSetElement interface: existence and properties of interface object 
+PASS HTMLFrameSetElement interface object length 
+PASS HTMLFrameSetElement interface object name 
+PASS HTMLFrameSetElement interface: existence and properties of interface prototype object 
+PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLFrameSetElement interface: attribute cols 
+PASS HTMLFrameSetElement interface: attribute rows 
+FAIL HTMLFrameSetElement interface: attribute onafterprint assert_true: The prototype object must have a property "onafterprint" expected true got false
+FAIL HTMLFrameSetElement interface: attribute onbeforeprint assert_true: The prototype object must have a property "onbeforeprint" expected true got false
+PASS HTMLFrameSetElement interface: attribute onbeforeunload 
+PASS HTMLFrameSetElement interface: attribute onhashchange 
+PASS HTMLFrameSetElement interface: attribute onlanguagechange 
+PASS HTMLFrameSetElement interface: attribute onmessage 
+PASS HTMLFrameSetElement interface: attribute onmessageerror 
+PASS HTMLFrameSetElement interface: attribute onoffline 
+PASS HTMLFrameSetElement interface: attribute ononline 
+PASS HTMLFrameSetElement interface: attribute onpagehide 
+PASS HTMLFrameSetElement interface: attribute onpageshow 
+PASS HTMLFrameSetElement interface: attribute onpopstate 
+PASS HTMLFrameSetElement interface: attribute onrejectionhandled 
+PASS HTMLFrameSetElement interface: attribute onstorage 
+PASS HTMLFrameSetElement interface: attribute onunhandledrejection 
+PASS HTMLFrameSetElement interface: attribute onunload 
+PASS HTMLFrameSetElement must be primary interface of document.createElement("frameset") 
+PASS Stringification of document.createElement("frameset") 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "cols" with the proper type (0) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "rows" with the proper type (1) 
+FAIL HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onafterprint" with the proper type (2) assert_inherits: property "onafterprint" not found in prototype chain
+FAIL HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeprint" with the proper type (3) assert_inherits: property "onbeforeprint" not found in prototype chain
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeunload" with the proper type (4) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onhashchange" with the proper type (5) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onlanguagechange" with the proper type (6) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessage" with the proper type (7) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessageerror" with the proper type (8) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onoffline" with the proper type (9) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "ononline" with the proper type (10) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpagehide" with the proper type (11) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageshow" with the proper type (12) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpopstate" with the proper type (13) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onrejectionhandled" with the proper type (14) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onstorage" with the proper type (15) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunhandledrejection" with the proper type (16) 
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type (17) 
+PASS HTMLFrameElement interface: existence and properties of interface object 
+PASS HTMLFrameElement interface object length 
+PASS HTMLFrameElement interface object name 
+PASS HTMLFrameElement interface: existence and properties of interface prototype object 
+PASS HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLFrameElement interface: attribute name 
+PASS HTMLFrameElement interface: attribute scrolling 
+PASS HTMLFrameElement interface: attribute src 
+PASS HTMLFrameElement interface: attribute frameBorder 
+PASS HTMLFrameElement interface: attribute longDesc 
+PASS HTMLFrameElement interface: attribute noResize 
+PASS HTMLFrameElement interface: attribute contentDocument 
+PASS HTMLFrameElement interface: attribute contentWindow 
+PASS HTMLFrameElement interface: attribute marginHeight 
+PASS HTMLFrameElement interface: attribute marginWidth 
+PASS HTMLFrameElement must be primary interface of document.createElement("frame") 
+PASS Stringification of document.createElement("frame") 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "name" with the proper type (0) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "scrolling" with the proper type (1) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "src" with the proper type (2) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "frameBorder" with the proper type (3) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "longDesc" with the proper type (4) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "noResize" with the proper type (5) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentDocument" with the proper type (6) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentWindow" with the proper type (7) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginHeight" with the proper type (8) 
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type (9) 
+PASS HTMLDirectoryElement interface: existence and properties of interface object 
+PASS HTMLDirectoryElement interface object length 
+PASS HTMLDirectoryElement interface object name 
+PASS HTMLDirectoryElement interface: existence and properties of interface prototype object 
+PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLDirectoryElement interface: attribute compact 
+PASS HTMLDirectoryElement must be primary interface of document.createElement("dir") 
+PASS Stringification of document.createElement("dir") 
+PASS HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type (0) 
+PASS HTMLFontElement interface: existence and properties of interface object 
+PASS HTMLFontElement interface object length 
+PASS HTMLFontElement interface object name 
+PASS HTMLFontElement interface: existence and properties of interface prototype object 
+PASS HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLFontElement interface: attribute color 
+PASS HTMLFontElement interface: attribute face 
+PASS HTMLFontElement interface: attribute size 
+PASS HTMLFontElement must be primary interface of document.createElement("font") 
+PASS Stringification of document.createElement("font") 
+PASS HTMLFontElement interface: document.createElement("font") must inherit property "color" with the proper type (0) 
+PASS HTMLFontElement interface: document.createElement("font") must inherit property "face" with the proper type (1) 
+PASS HTMLFontElement interface: document.createElement("font") must inherit property "size" with the proper type (2) 
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.html b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.html
new file mode 100644
index 0000000..8440615
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.html
@@ -0,0 +1,239 @@
+<!doctype html>
+<meta charset=utf-8>
+<!-- WARNING: These tests are preliminary and probably partly incorrect.  -->
+<title>HTML IDL tests</title>
+<meta name=timeout content=long>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/resources/WebIDLParser.js></script>
+<script src=/resources/idlharness.js></script>
+
+<h1>HTML IDL tests</h1>
+<div id=log></div>
+
+<script>
+"use strict";
+var errorVideo; // used to get a MediaError object
+var iframe; // used to get a Document object (can't use `document` because some test clears the page)
+setup(function() {
+  errorVideo = document.createElement('video');
+  errorVideo.src = 'data:,';
+  errorVideo.preload = 'auto';
+  iframe = document.createElement('iframe');
+  iframe.hidden = true;
+  document.body.appendChild(iframe);
+});
+
+function createInput(type) {
+  var input = document.createElement('input');
+  input.type = type;
+  return input;
+}
+
+function doTest([html, dom, cssom, uievents, touchevents]) {
+  var idlArray = new IdlArray();
+  idlArray.add_untested_idls(dom + cssom + uievents + touchevents);
+  idlArray.add_idls(html);
+
+  idlArray.add_objects({
+    NodeList: ['document.getElementsByName("name")'],
+    HTMLAllCollection: ['document.all'],
+    HTMLFormControlsCollection: ['document.createElement("form").elements'],
+    RadioNodeList: [],
+    HTMLOptionsCollection: ['document.createElement("select").options'],
+    DOMStringMap: ['document.head.dataset'],
+    Transferable: [],
+    Document: ['iframe.contentDocument', 'new Document()'],
+    XMLDocument: ['document.implementation.createDocument(null, "", null)'],
+    HTMLElement: ['document.createElement("noscript")'], // more tests in html/semantics/interfaces.js
+    HTMLUnknownElement: ['document.createElement("bgsound")'], // more tests in html/semantics/interfaces.js
+    HTMLHtmlElement: ['document.createElement("html")'],
+    HTMLHeadElement: ['document.createElement("head")'],
+    HTMLTitleElement: ['document.createElement("title")'],
+    HTMLBaseElement: ['document.createElement("base")'],
+    HTMLLinkElement: ['document.createElement("link")'],
+    HTMLMetaElement: ['document.createElement("meta")'],
+    HTMLStyleElement: ['document.createElement("style")'],
+    HTMLScriptElement: ['document.createElement("script")'],
+    HTMLBodyElement: ['document.createElement("body")'],
+    HTMLHeadingElement: ['document.createElement("h1")'],
+    HTMLParagraphElement: ['document.createElement("p")'],
+    HTMLHRElement: ['document.createElement("hr")'],
+    HTMLPreElement: [
+      'document.createElement("pre")',
+      'document.createElement("listing")',
+      'document.createElement("xmp")',
+    ],
+    HTMLQuoteElement: [
+      'document.createElement("blockquote")',
+      'document.createElement("q")',
+    ],
+    HTMLOlistElement: ['document.createElement("ol")'],
+    HTMLUlistElement: ['document.createElement("ul")'],
+    HTMLLIElement: ['document.createElement("li")'],
+    HTMLDlistElement: ['document.createElement("dl")'],
+    HTMLDivElement: ['document.createElement("div")'],
+    HTMLAnchorElement: ['document.createElement("a")'],
+    HTMLDataElement: ['document.createElement("data")'],
+    HTMLTimeElement: ['document.createElement("time")'],
+    HTMLSpanElement: ['document.createElement("span")'],
+    HTMLBRElement: ['document.createElement("br")'],
+    HTMLModElement: [
+      'document.createElement("ins")',
+      'document.createElement("del")',
+    ],
+    HTMLPictureElement: ['document.createElement("picture")'],
+    HTMLImageElement: ['document.createElement("img")', 'new Image()'],
+    HTMLIframeElement: ['document.createElement("iframe")'],
+    HTMLEmbedElement: ['document.createElement("embed")'],
+    HTMLObjectElement: ['document.createElement("object")'],
+    HTMLParamElement: ['document.createElement("param")'],
+    HTMLVideoElement: ['document.createElement("video")'],
+    HTMLAudioElement: ['document.createElement("audio")', 'new Audio()'],
+    HTMLSourceElement: ['document.createElement("source")'],
+    HTMLTrackElement: ['document.createElement("track")'],
+    HTMLMediaElement: [],
+    MediaError: ['errorVideo.error'],
+    AudioTrackList: [],
+    AudioTrack: [],
+    VideoTrackList: [],
+    VideoTrack: [],
+    TextTrackList: ['document.createElement("video").textTracks'],
+    TextTrack: ['document.createElement("track").track'],
+    TextTrackCueList: ['document.createElement("video").addTextTrack("subtitles").cues'],
+    TextTrackCue: [],
+    DataCue: [],
+    TimeRanges: ['document.createElement("video").buffered'],
+    TrackEvent: ['new TrackEvent("addtrack", {track:document.createElement("track").track})'],
+    HTMLTemplateElement: ['document.createElement("template")'],
+    HTMLSlotElement: ['document.createElement("slot")'],
+    HTMLCanvasElement: ['document.createElement("canvas")'],
+    CanvasRenderingContext2D: ['document.createElement("canvas").getContext("2d")'],
+    CanvasGradient: [],
+    CanvasPattern: [],
+    TextMetrics: [],
+    ImageData: [],
+    HTMLMapElement: ['document.createElement("map")'],
+    HTMLAreaElement: ['document.createElement("area")'],
+    HTMLTableElement: ['document.createElement("table")'],
+    HTMLTableCaptionElement: ['document.createElement("caption")'],
+    HTMLTableColElement: [
+      'document.createElement("colgroup")',
+      'document.createElement("col")',
+    ],
+    HTMLTableSectionElement: [
+      'document.createElement("tbody")',
+      'document.createElement("thead")',
+      'document.createElement("tfoot")',
+    ],
+    HTMLTableRowElement: ['document.createElement("tr")'],
+    HTMLTableCellElement: [
+      'document.createElement("td")',
+      'document.createElement("th")',
+    ],
+    HTMLFormElement: ['document.createElement("form")'],
+    HTMLFieldsetElement: ['document.createElement("fieldset")'],
+    HTMLLegendElement: ['document.createElement("legend")'],
+    HTMLLabelElement: ['document.createElement("label")'],
+    HTMLInputElement: [
+      'document.createElement("input")',
+      'createInput("text")',
+      'createInput("hidden")',
+      'createInput("search")',
+      'createInput("tel")',
+      'createInput("url")',
+      'createInput("email")',
+      'createInput("password")',
+      'createInput("date")',
+      'createInput("month")',
+      'createInput("week")',
+      'createInput("time")',
+      'createInput("datetime-local")',
+      'createInput("number")',
+      'createInput("range")',
+      'createInput("color")',
+      'createInput("checkbox")',
+      'createInput("radio")',
+      'createInput("file")',
+      'createInput("submit")',
+      'createInput("image")',
+      'createInput("reset")',
+      'createInput("button")'
+    ],
+    HTMLButtonElement: ['document.createElement("button")'],
+    HTMLSelectElement: ['document.createElement("select")'],
+    HTMLDataListElement: ['document.createElement("datalist")'],
+    HTMLOptGroupElement: ['document.createElement("optgroup")'],
+    HTMLOptionElement: ['document.createElement("option")', 'new Option()'],
+    HTMLTextAreaElement: ['document.createElement("textarea")'],
+    HTMLOutputElement: ['document.createElement("output")'],
+    HTMLProgressElement: ['document.createElement("progress")'],
+    HTMLMeterElement: ['document.createElement("meter")'],
+    ValidityState: ['document.createElement("input").validity'],
+    HTMLDetailsElement: ['document.createElement("details")'],
+    HTMLMenuElement: ['document.createElement("menu")'],
+    Window: ['window'],
+    BarProp: [],
+    History: ['window.history'],
+    Location: ['window.location'],
+    PopStateEvent: ['new PopStateEvent("popstate", { data: {} })'],
+    HashChangeEvent: [],
+    PageTransitionEvent: [],
+    BeforeUnloadEvent: [],
+    ApplicationCache: ['window.applicationCache'],
+    WindowModal: [],
+    Navigator: ['window.navigator'],
+    External: ['window.external'],
+    DataTransfer: [],
+    DataTransferItemList: [],
+    DataTransferItem: [],
+    DragEvent: [],
+    NavigatorUserMediaError: [],
+    MediaStream: [],
+    LocalMediaStream: [],
+    MediaStreamTrack: [],
+    MediaStreamRecorder: [],
+    PeerConnection: [],
+    MediaStreamEvent: [],
+    ErrorEvent: [],
+    WebSocket: ['new WebSocket("ws://foo")'],
+    CloseEvent: ['new CloseEvent("close")'],
+    AbstractWorker: [],
+    Worker: [],
+    SharedWorker: [],
+    MessageEvent: ['new MessageEvent("message", { data: 5 })'],
+    MessageChannel: [],
+    MessagePort: [],
+    HTMLAppletElement: ['document.createElement("applet")'],
+    HTMLMarqueeElement: ['document.createElement("marquee")'],
+    HTMLFrameSetElement: ['document.createElement("frameset")'],
+    HTMLFrameElement: ['document.createElement("frame")'],
+    HTMLDirectoryElement: ['document.createElement("dir")'],
+    HTMLFontElement: ['document.createElement("font")'],
+  });
+  idlArray.prevent_multiple_testing("HTMLElement");
+  idlArray.test();
+};
+
+function fetchData(url) {
+  return fetch(url).then((response) => response.text());
+}
+
+function waitForLoad() {
+  return new Promise(function(resolve) {
+    addEventListener("load", resolve);
+  });
+}
+
+promise_test(function() {
+  // Have to wait for onload
+  return Promise.all([fetchData("/interfaces/html.idl"),
+                      fetchData("/interfaces/dom.idl"),
+                      fetchData("/interfaces/cssom.idl"),
+                      fetchData("/interfaces/touchevents.idl"),
+                      fetchData("/interfaces/uievents.idl"),
+                      waitForLoad()])
+                .then(doTest);
+}, "Test driver");
+
+</script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked-expected.txt b/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked-expected.txt
deleted file mode 100644
index c19a6f1..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked-expected.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Verify that a CSP connect-src directive blocks redirects.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS navigator.sendBeacon("resources/redir.php?url=http://127.0.0.1:8080/sendbeacon/resources/save-beacon.php%3Fname%3Dcsp-redirect-blocked", "ping"); is true
-PASS Beacon sent successfully
-PASS Content-Type: text/plain;charset=UTF-8
-PASS Origin: null
-PASS Referer: http://127.0.0.1:8000/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked.html
-PASS Request-Method: POST
-PASS Length: 4
-PASS Body: ping
-PASS 
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked.html b/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked.html
deleted file mode 100644
index 73a2e86..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-redirect-to-blocked.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta http-equiv="Content-Security-Policy" content="connect-src http://127.0.0.1:8000">
-<script src="/js-test-resources/js-test.js"></script>
-</head>
-<body>
-<script>
-description("Verify that a CSP connect-src directive blocks redirects.");
-window.jsTestIsAsync = true;
-
-shouldBeTrue('navigator.sendBeacon("resources/redir.php?url=http://127.0.0.1:8080/sendbeacon/resources/save-beacon.php%3Fname%3Dcsp-redirect-blocked", "ping");');
-
-function checkForBeacon() {
-    var xhr = new XMLHttpRequest();
-    xhr.open("GET", "http://127.0.0.1:8000/sendbeacon/resources/check-beacon.php?name=csp-redirect-blocked&retries=100", true);
-    xhr.onload = function () {
-        var lines = xhr.responseText.split("\n");
-        for (var i in lines)
-            testPassed(lines[i]);
-        finishJSTest();
-    };
-    xhr.onerror = function () {
-        testFailed("Unable to fetch beacon status");
-        finishJSTest();
-    };
-    xhr.send();
-}
-setTimeout(checkForBeacon, 1000);
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt b/third_party/WebKit/LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt
deleted file mode 100644
index a542140..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-CONSOLE MESSAGE: line 32: PASS: Caught exception while trying to access victim's properties.
-This test passes if it doesn't alert the contents of innocent-victim.html.  
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml b/third_party/WebKit/LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml
deleted file mode 100644
index 456f6c6f..0000000
--- a/third_party/WebKit/LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml-stylesheet type="text/xsl" href="xss-DENIED-xsl-document-securityOrigin.xml"?>
-<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<xsl:template match="/">
-<html>
-<head>
-<script>
-<![CDATA[
-if (window.testRunner) {
-	testRunner.dumpAsText();
-	testRunner.waitUntilDone();
-	testRunner.setCanOpenWindows();
-	testRunner.setCloseRemainingWindowsWhenComplete(true);
- }
-
-window.onload = function()
-{
-	if (!opener) {
-		victim = document.body.appendChild(document.createElement("iframe"));
-		wnd = victim.contentWindow.open();
-		victim.src = "http://localhost:8080/security/resources/innocent-victim.html";
-		victim.onload = function() { wnd.eval("location = '" + location + "'"); }
-	} else if (location != "about:blank") {
-		url = location.href;
-		blank = document.body.appendChild(document.createElement("iframe"));
-		blank.contentWindow.eval("parent.document.open()");
-		location = "javascript:(\"\x3C?xml-stylesheet type='text/xsl' href='" + url + "'?\x3E\x3Croot/\x3E\")";
-	} else {
-		victim = opener;
-        open("javascript:void(0)", "_self");
-        try {
-            if (victim.eval)
-                victim.eval("alert(document.body.innerHTML)");
-        } catch (e) {
-            console.log("PASS: Caught exception while trying to access victim's properties.");
-        }
-
-		if (window.testRunner)
-			testRunner.notifyDone();
-	}
-}
-]]>
-</script>
-</head>
-<body>
-This test passes if it doesn't alert the contents of innocent-victim.html.
-</body>
-</html>
-</xsl:template>
-</xsl:stylesheet>
diff --git a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
index b136e05..8bda40f 100644
--- a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
@@ -64,7 +64,8 @@
 
 namespace blink {
 
-void LocalWindowProxy::DisposeContext(Lifecycle next_status) {
+void LocalWindowProxy::DisposeContext(Lifecycle next_status,
+                                      FrameReuseStatus frame_reuse_status) {
   DCHECK(next_status == Lifecycle::kGlobalObjectIsDetached ||
          next_status == Lifecycle::kFrameIsDetached);
 
@@ -98,12 +99,11 @@
   }
 
   script_state_->DisposePerContextData();
-
   // It's likely that disposing the context has created a lot of
   // garbage. Notify V8 about this so it'll have a chance of cleaning
   // it up when idle.
   V8GCForContextDispose::Instance().NotifyContextDisposed(
-      GetFrame()->IsMainFrame());
+      GetFrame()->IsMainFrame(), frame_reuse_status);
 
   if (next_status == Lifecycle::kFrameIsDetached) {
     // The context's frame is detached from the DOM, so there shouldn't be a
diff --git a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h
index 3af018d..f8a54df 100644
--- a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h
+++ b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h
@@ -74,7 +74,7 @@
 
   bool IsLocal() const override { return true; }
   void Initialize() override;
-  void DisposeContext(Lifecycle next_status) override;
+  void DisposeContext(Lifecycle next_status, FrameReuseStatus) override;
 
   // Creates a new v8::Context with the window wrapper object as the global
   // object (aka the inner global).  Note that the window wrapper and its
diff --git a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
index d1fae09..21a6981 100644
--- a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
@@ -49,7 +49,8 @@
                                      RefPtr<DOMWrapperWorld> world)
     : WindowProxy(isolate, frame, std::move(world)) {}
 
-void RemoteWindowProxy::DisposeContext(Lifecycle next_status) {
+void RemoteWindowProxy::DisposeContext(Lifecycle next_status,
+                                       FrameReuseStatus) {
   DCHECK(next_status == Lifecycle::kGlobalObjectIsDetached ||
          next_status == Lifecycle::kFrameIsDetached);
 
diff --git a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h
index 40a31d1..182255c 100644
--- a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h
+++ b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h
@@ -55,7 +55,7 @@
   RemoteWindowProxy(v8::Isolate*, RemoteFrame&, RefPtr<DOMWrapperWorld>);
 
   void Initialize() override;
-  void DisposeContext(Lifecycle next_status) override;
+  void DisposeContext(Lifecycle next_status, FrameReuseStatus) override;
 
   // Creates a new v8::Context with the window wrapper object as the global
   // object (aka the inner global).  Note that the window wrapper and its
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp b/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
index deca64c..000898de 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
@@ -30,12 +30,26 @@
 
 #include "bindings/core/v8/V8GCForContextDispose.h"
 
+#include "platform/Histogram.h"
+#include "platform/MemoryCoordinator.h"
 #include "platform/bindings/V8PerIsolateData.h"
 #include "platform/wtf/CurrentTime.h"
+#include "platform/wtf/ProcessMetrics.h"
 #include "platform/wtf/StdLibExtras.h"
 #include "public/platform/Platform.h"
 #include "v8/include/v8.h"
 
+size_t GetMemoryUsage() {
+  size_t usage = WTF::GetMallocUsage() + WTF::Partitions::TotalActiveBytes() +
+                 blink::ProcessHeap::TotalAllocatedObjectSize() +
+                 blink::ProcessHeap::TotalMarkedObjectSize();
+  v8::HeapStatistics v8_heap_statistics;
+  blink::V8PerIsolateData::MainThreadIsolate()->GetHeapStatistics(
+      &v8_heap_statistics);
+  usage = v8_heap_statistics.total_heap_size();
+  return usage;
+}
+
 namespace blink {
 
 V8GCForContextDispose::V8GCForContextDispose()
@@ -43,9 +57,30 @@
   Reset();
 }
 
-void V8GCForContextDispose::NotifyContextDisposed(bool is_main_frame) {
+void V8GCForContextDispose::NotifyContextDisposed(
+    bool is_main_frame,
+    WindowProxy::FrameReuseStatus frame_reuse_status) {
   did_dispose_context_for_main_frame_ = is_main_frame;
   last_context_disposal_time_ = WTF::CurrentTime();
+#if OS(ANDROID)
+  // When a low end device is in a low memory situation we should prioritize
+  // memory use and trigger a V8+Blink GC. However, on Android, if the frame
+  // will not be reused, the process will likely to be killed soon so skip this.
+  if (is_main_frame && frame_reuse_status == WindowProxy::kFrameWillBeReused &&
+      MemoryCoordinator::IsLowEndDevice() &&
+      MemoryCoordinator::IsCurrentlyLowMemory()) {
+    size_t pre_gc_memory_usage = GetMemoryUsage();
+    V8PerIsolateData::MainThreadIsolate()->MemoryPressureNotification(
+        v8::MemoryPressureLevel::kCritical);
+    size_t post_gc_memory_usage = GetMemoryUsage();
+    int reduction = static_cast<int>(pre_gc_memory_usage) -
+                    static_cast<int>(post_gc_memory_usage);
+    DEFINE_STATIC_LOCAL(
+        CustomCountHistogram, reduction_histogram,
+        ("BlinkGC.LowMemoryPageNavigationGC.Reduction", 1, 512, 50));
+    reduction_histogram.Count(reduction / 1024 / 1024);
+  }
+#endif
   V8PerIsolateData::MainThreadIsolate()->ContextDisposedNotification(
       !is_main_frame);
   pseudo_idle_timer_.Stop();
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h b/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h
index de0aec5..b9fd253a 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h
+++ b/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h
@@ -31,6 +31,7 @@
 #ifndef V8GCForContextDispose_h
 #define V8GCForContextDispose_h
 
+#include "bindings/core/v8/WindowProxy.h"
 #include "platform/Timer.h"
 
 namespace blink {
@@ -40,7 +41,7 @@
   WTF_MAKE_NONCOPYABLE(V8GCForContextDispose);
 
  public:
-  void NotifyContextDisposed(bool is_main_frame);
+  void NotifyContextDisposed(bool is_main_frame, WindowProxy::FrameReuseStatus);
   void NotifyIdle();
 
   static V8GCForContextDispose& Instance();
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp
index bda519f..4e89f5b 100644
--- a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp
@@ -63,11 +63,15 @@
       lifecycle_(Lifecycle::kContextIsUninitialized) {}
 
 void WindowProxy::ClearForClose() {
-  DisposeContext(Lifecycle::kFrameIsDetached);
+  DisposeContext(Lifecycle::kFrameIsDetached, kFrameWillNotBeReused);
 }
 
 void WindowProxy::ClearForNavigation() {
-  DisposeContext(Lifecycle::kGlobalObjectIsDetached);
+  DisposeContext(Lifecycle::kGlobalObjectIsDetached, kFrameWillBeReused);
+}
+
+void WindowProxy::ClearForSwap() {
+  DisposeContext(Lifecycle::kGlobalObjectIsDetached, kFrameWillNotBeReused);
 }
 
 v8::Local<v8::Object> WindowProxy::GlobalProxyIfNotDetached() {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
index f42a069..7143fa4 100644
--- a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
+++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
@@ -151,6 +151,7 @@
 
   void ClearForClose();
   void ClearForNavigation();
+  void ClearForSwap();
 
   CORE_EXPORT v8::Local<v8::Object> GlobalProxyIfNotDetached();
   v8::Local<v8::Object> ReleaseGlobalProxy();
@@ -162,6 +163,8 @@
 
   virtual bool IsLocal() const { return false; }
 
+  enum FrameReuseStatus { kFrameWillNotBeReused, kFrameWillBeReused };
+
  protected:
   // Lifecycle represents the following four states.
   //
@@ -227,7 +230,7 @@
 
   virtual void Initialize() = 0;
 
-  virtual void DisposeContext(Lifecycle next_status) = 0;
+  virtual void DisposeContext(Lifecycle next_status, FrameReuseStatus) = 0;
 
   WARN_UNUSED_RESULT v8::Local<v8::Object> AssociateWithWrapper(
       DOMWindow*,
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.cpp b/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.cpp
index 53e5ca3..753b12c48 100644
--- a/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.cpp
@@ -26,6 +26,12 @@
     entry.value->ClearForNavigation();
 }
 
+void WindowProxyManager::ClearForSwap() {
+  window_proxy_->ClearForSwap();
+  for (auto& entry : isolated_worlds_)
+    entry.value->ClearForSwap();
+}
+
 void WindowProxyManager::ReleaseGlobalProxies(
     GlobalProxyVector& global_proxies) {
   DCHECK(global_proxies.IsEmpty());
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h b/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h
index cd9ffab..ef28337 100644
--- a/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h
+++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h
@@ -28,6 +28,7 @@
 
   void ClearForClose();
   void CORE_EXPORT ClearForNavigation();
+  void ClearForSwap();
 
   // Global proxies are passed in a vector to maintain their order: global proxy
   // object for the main world is always first. This is needed to prevent bugs
diff --git a/third_party/WebKit/Source/core/BUILD.gn b/third_party/WebKit/Source/core/BUILD.gn
index 6aaa0d5..6d459f87 100644
--- a/third_party/WebKit/Source/core/BUILD.gn
+++ b/third_party/WebKit/Source/core/BUILD.gn
@@ -1159,7 +1159,6 @@
     "animation/AnimationTest.cpp",
     "animation/AnimationTestHelper.cpp",
     "animation/AnimationTestHelper.h",
-    "animation/AnimationTimelineTest.cpp",
     "animation/CompositorAnimationsTest.cpp",
     "animation/DocumentTimelineTest.cpp",
     "animation/EffectInputTest.cpp",
diff --git a/third_party/WebKit/Source/core/animation/Animation.cpp b/third_party/WebKit/Source/core/animation/Animation.cpp
index bd3225a..c404e327 100644
--- a/third_party/WebKit/Source/core/animation/Animation.cpp
+++ b/third_party/WebKit/Source/core/animation/Animation.cpp
@@ -30,7 +30,6 @@
 
 #include "core/animation/Animation.h"
 
-#include "core/animation/AnimationTimeline.h"
 #include "core/animation/CompositorPendingAnimations.h"
 #include "core/animation/DocumentTimeline.h"
 #include "core/animation/KeyframeEffectReadOnly.h"
@@ -70,13 +69,13 @@
 
 Animation* Animation::Create(AnimationEffectReadOnly* effect,
                              SuperAnimationTimeline* timeline) {
-  if (!timeline || !timeline->IsAnimationTimeline()) {
+  if (!timeline || !timeline->IsDocumentTimeline()) {
     // FIXME: Support creating animations without a timeline.
     NOTREACHED();
     return nullptr;
   }
 
-  AnimationTimeline* subtimeline = ToAnimationTimeline(timeline);
+  DocumentTimeline* subtimeline = ToDocumentTimeline(timeline);
 
   Animation* animation = new Animation(
       subtimeline->GetDocument()->ContextDocument(), *subtimeline, effect);
@@ -112,7 +111,7 @@
 }
 
 Animation::Animation(ExecutionContext* execution_context,
-                     AnimationTimeline& timeline,
+                     DocumentTimeline& timeline,
                      AnimationEffectReadOnly* content)
     : ContextLifecycleObserver(execution_context),
       play_state_(kIdle),
@@ -151,7 +150,7 @@
 
 void Animation::Dispose() {
   DestroyCompositorPlayer();
-  // If the AnimationTimeline and its Animation objects are
+  // If the DocumentTimeline and its Animation objects are
   // finalized by the same GC, we have to eagerly clear out
   // this Animation object's compositor player registration.
   DCHECK(!compositor_player_);
@@ -1214,12 +1213,18 @@
   if (!content_ || !content_->IsKeyframeEffectReadOnly())
     return;
 
-  Element& target = *ToKeyframeEffectReadOnly(content_.Get())->Target();
+  Element* target = ToKeyframeEffectReadOnly(content_.Get())->Target();
 
-  if (CSSAnimations::IsAffectedByKeyframesFromScope(target, tree_scope))
-    target.SetNeedsStyleRecalc(kLocalStyleChange,
-                               StyleChangeReasonForTracing::Create(
-                                   StyleChangeReason::kStyleSheetChange));
+  // TODO(alancutter): Remove dependency of this function on CSSAnimations.
+  // This function makes the incorrect assumption that the animation uses
+  // @keyframes for its effect model when it may instead be using JS provided
+  // keyframes.
+  if (target &&
+      CSSAnimations::IsAffectedByKeyframesFromScope(*target, tree_scope)) {
+    target->SetNeedsStyleRecalc(kLocalStyleChange,
+                                StyleChangeReasonForTracing::Create(
+                                    StyleChangeReason::kStyleSheetChange));
+  }
 }
 
 void Animation::ResolvePromiseMaybeAsync(AnimationPromise* promise) {
diff --git a/third_party/WebKit/Source/core/animation/Animation.h b/third_party/WebKit/Source/core/animation/Animation.h
index f507056e..9190f5e 100644
--- a/third_party/WebKit/Source/core/animation/Animation.h
+++ b/third_party/WebKit/Source/core/animation/Animation.h
@@ -38,8 +38,8 @@
 #include "core/CSSPropertyNames.h"
 #include "core/CoreExport.h"
 #include "core/animation/AnimationEffectReadOnly.h"
-#include "core/animation/AnimationTimeline.h"
 #include "core/animation/CompositorAnimations.h"
+#include "core/animation/DocumentTimeline.h"
 #include "core/dom/ContextLifecycleObserver.h"
 #include "core/dom/DOMException.h"
 #include "core/events/EventTarget.h"
@@ -142,8 +142,8 @@
   SuperAnimationTimeline* timeline() {
     return static_cast<SuperAnimationTimeline*>(timeline_);
   }
-  const AnimationTimeline* TimelineInternal() const { return timeline_; }
-  AnimationTimeline* TimelineInternal() { return timeline_; }
+  const DocumentTimeline* TimelineInternal() const { return timeline_; }
+  DocumentTimeline* TimelineInternal() { return timeline_; }
 
   double CalculateStartTime(double current_time) const;
   bool HasStartTime() const { return !IsNull(start_time_); }
@@ -217,7 +217,7 @@
                           RegisteredEventListener&) override;
 
  private:
-  Animation(ExecutionContext*, AnimationTimeline&, AnimationEffectReadOnly*);
+  Animation(ExecutionContext*, DocumentTimeline&, AnimationEffectReadOnly*);
 
   void ClearOutdated();
   void ForceServiceOnNextFrame();
@@ -268,7 +268,7 @@
   Member<AnimationPromise> ready_promise_;
 
   Member<AnimationEffectReadOnly> content_;
-  Member<AnimationTimeline> timeline_;
+  Member<DocumentTimeline> timeline_;
 
   // Reflects all pausing, including via pauseForTesting().
   bool paused_;
diff --git a/third_party/WebKit/Source/core/animation/AnimationTest.cpp b/third_party/WebKit/Source/core/animation/AnimationTest.cpp
index 6c2f2dd7..006024a5 100644
--- a/third_party/WebKit/Source/core/animation/AnimationTest.cpp
+++ b/third_party/WebKit/Source/core/animation/AnimationTest.cpp
@@ -32,8 +32,8 @@
 
 #include <memory>
 #include "core/animation/AnimationClock.h"
-#include "core/animation/AnimationTimeline.h"
 #include "core/animation/CompositorPendingAnimations.h"
+#include "core/animation/DocumentTimeline.h"
 #include "core/animation/ElementAnimations.h"
 #include "core/animation/KeyframeEffect.h"
 #include "core/dom/DOMNodeIds.h"
@@ -63,7 +63,7 @@
     page_holder = DummyPageHolder::Create();
     document = &page_holder->GetDocument();
     document->GetAnimationClock().ResetTimeForTesting();
-    timeline = AnimationTimeline::Create(document.Get());
+    timeline = DocumentTimeline::Create(document.Get());
     timeline->ResetForTesting();
     animation = timeline->Play(0);
     animation->setStartTime(0, false);
@@ -92,7 +92,7 @@
   }
 
   Persistent<Document> document;
-  Persistent<AnimationTimeline> timeline;
+  Persistent<DocumentTimeline> timeline;
   Persistent<Animation> animation;
   std::unique_ptr<DummyPageHolder> page_holder;
 };
diff --git a/third_party/WebKit/Source/core/animation/AnimationTimeline.h b/third_party/WebKit/Source/core/animation/AnimationTimeline.h
deleted file mode 100644
index 5b5bf24..0000000
--- a/third_party/WebKit/Source/core/animation/AnimationTimeline.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef AnimationTimeline_h
-#define AnimationTimeline_h
-
-#include <memory>
-#include "core/CoreExport.h"
-#include "core/animation/AnimationEffectReadOnly.h"
-#include "core/animation/EffectModel.h"
-#include "core/animation/SuperAnimationTimeline.h"
-#include "core/dom/Element.h"
-#include "core/dom/TaskRunnerHelper.h"
-#include "platform/Timer.h"
-#include "platform/animation/CompositorAnimationTimeline.h"
-#include "platform/bindings/ScriptWrappable.h"
-#include "platform/heap/Handle.h"
-#include "platform/wtf/RefPtr.h"
-#include "platform/wtf/Vector.h"
-
-namespace blink {
-
-class Animation;
-class AnimationEffectReadOnly;
-class Document;
-
-// AnimationTimeline is constructed and owned by Document, and tied to its
-// lifecycle.
-class CORE_EXPORT AnimationTimeline : public SuperAnimationTimeline {
-  DEFINE_WRAPPERTYPEINFO();
-
- public:
-  class PlatformTiming : public GarbageCollectedFinalized<PlatformTiming> {
-   public:
-    // Calls AnimationTimeline's wake() method after duration seconds.
-    virtual void WakeAfter(double duration) = 0;
-    virtual void ServiceOnNextFrame() = 0;
-    virtual ~PlatformTiming() {}
-    DEFINE_INLINE_VIRTUAL_TRACE() {}
-  };
-
-  static AnimationTimeline* Create(Document*, PlatformTiming* = nullptr);
-
-  virtual ~AnimationTimeline() {}
-
-  bool IsAnimationTimeline() const final { return true; }
-
-  void ServiceAnimations(TimingUpdateReason);
-  void ScheduleNextService();
-
-  Animation* Play(AnimationEffectReadOnly*);
-  HeapVector<Member<Animation>> getAnimations();
-
-  void AnimationAttached(Animation&);
-
-  bool IsActive();
-  bool HasPendingUpdates() const {
-    return !animations_needing_update_.IsEmpty();
-  }
-  double ZeroTime();
-  double currentTime(bool& is_null) override;
-  double currentTime();
-  double CurrentTimeInternal(bool& is_null);
-  double CurrentTimeInternal();
-  double EffectiveTime();
-  void PauseAnimationsForTesting(double);
-
-  void SetAllCompositorPending(bool source_changed = false);
-  void SetOutdatedAnimation(Animation*);
-  void ClearOutdatedAnimation(Animation*);
-  bool HasOutdatedAnimation() const { return outdated_animation_count_ > 0; }
-  bool NeedsAnimationTimingUpdate();
-  void InvalidateKeyframeEffects(const TreeScope&);
-
-  void SetPlaybackRate(double);
-  double PlaybackRate() const;
-
-  CompositorAnimationTimeline* CompositorTimeline() const {
-    return compositor_timeline_.get();
-  }
-
-  Document* GetDocument() { return document_.Get(); }
-  void Wake();
-  void ResetForTesting();
-
-  DECLARE_VIRTUAL_TRACE();
-
- protected:
-  AnimationTimeline(Document*, PlatformTiming*);
-
- private:
-  Member<Document> document_;
-  double zero_time_;
-  bool zero_time_initialized_;
-  unsigned outdated_animation_count_;
-  // Animations which will be updated on the next frame
-  // i.e. current, in effect, or had timing changed
-  HeapHashSet<Member<Animation>> animations_needing_update_;
-  HeapHashSet<WeakMember<Animation>> animations_;
-
-  double playback_rate_;
-
-  friend class SMILTimeContainer;
-  static const double kMinimumDelay;
-
-  Member<PlatformTiming> timing_;
-  double last_current_time_internal_;
-
-  std::unique_ptr<CompositorAnimationTimeline> compositor_timeline_;
-
-  class AnimationTimelineTiming final : public PlatformTiming {
-   public:
-    AnimationTimelineTiming(AnimationTimeline* timeline)
-        : timeline_(timeline),
-          timer_(TaskRunnerHelper::Get(TaskType::kUnspecedTimer,
-                                       timeline->GetDocument()),
-                 this,
-                 &AnimationTimelineTiming::TimerFired) {
-      DCHECK(timeline_);
-    }
-
-    void WakeAfter(double duration) override;
-    void ServiceOnNextFrame() override;
-
-    void TimerFired(TimerBase*) { timeline_->Wake(); }
-
-    DECLARE_VIRTUAL_TRACE();
-
-   private:
-    Member<AnimationTimeline> timeline_;
-    TaskRunnerTimer<AnimationTimelineTiming> timer_;
-  };
-
-  friend class AnimationAnimationTimelineTest;
-};
-
-DEFINE_TYPE_CASTS(AnimationTimeline,
-                  SuperAnimationTimeline,
-                  timeline,
-                  timeline->IsAnimationTimeline(),
-                  timeline.IsAnimationTimeline());
-
-}  // namespace blink
-
-#endif
diff --git a/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp b/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp
deleted file mode 100644
index 46be9c5..0000000
--- a/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Copyright (c) 2013, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "core/animation/AnimationTimeline.h"
-
-#include "core/animation/AnimationClock.h"
-#include "core/animation/AnimationEffectReadOnly.h"
-#include "core/animation/CompositorPendingAnimations.h"
-#include "core/animation/KeyframeEffect.h"
-#include "core/animation/KeyframeEffectModel.h"
-#include "core/dom/Document.h"
-#include "core/dom/Element.h"
-#include "core/dom/QualifiedName.h"
-#include "core/testing/DummyPageHolder.h"
-#include "platform/weborigin/KURL.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include <memory>
-
-namespace blink {
-
-class MockPlatformTiming : public AnimationTimeline::PlatformTiming {
- public:
-  MOCK_METHOD1(WakeAfter, void(double));
-  MOCK_METHOD0(ServiceOnNextFrame, void());
-
-  DEFINE_INLINE_TRACE() { AnimationTimeline::PlatformTiming::Trace(visitor); }
-};
-
-class AnimationAnimationTimelineTest : public ::testing::Test {
- protected:
-  virtual void SetUp() {
-    page_holder = DummyPageHolder::Create();
-    document = &page_holder->GetDocument();
-    document->GetAnimationClock().ResetTimeForTesting();
-    element = Element::Create(QualifiedName::Null(), document.Get());
-    platform_timing = new MockPlatformTiming;
-    timeline = AnimationTimeline::Create(document.Get(), platform_timing);
-    timeline->ResetForTesting();
-    ASSERT_EQ(0, timeline->CurrentTimeInternal());
-  }
-
-  virtual void TearDown() {
-    document.Release();
-    element.Release();
-    timeline.Release();
-    ThreadState::Current()->CollectAllGarbage();
-  }
-
-  void UpdateClockAndService(double time) {
-    document->GetAnimationClock().UpdateTime(time);
-    document->GetCompositorPendingAnimations().Update(
-        Optional<CompositorElementIdSet>(), false);
-    timeline->ServiceAnimations(kTimingUpdateForAnimationFrame);
-    timeline->ScheduleNextService();
-  }
-
-  std::unique_ptr<DummyPageHolder> page_holder;
-  Persistent<Document> document;
-  Persistent<Element> element;
-  Persistent<AnimationTimeline> timeline;
-  Timing timing;
-  Persistent<MockPlatformTiming> platform_timing;
-
-  void Wake() { timeline->Wake(); }
-
-  double MinimumDelay() { return AnimationTimeline::kMinimumDelay; }
-};
-
-TEST_F(AnimationAnimationTimelineTest, EmptyKeyframeAnimation) {
-  AnimatableValueKeyframeEffectModel* effect =
-      AnimatableValueKeyframeEffectModel::Create(
-          AnimatableValueKeyframeVector());
-  KeyframeEffect* keyframe_effect =
-      KeyframeEffect::Create(element.Get(), effect, timing);
-
-  timeline->Play(keyframe_effect);
-
-  UpdateClockAndService(0);
-  EXPECT_FLOAT_EQ(0, timeline->CurrentTimeInternal());
-  EXPECT_FALSE(keyframe_effect->IsInEffect());
-
-  UpdateClockAndService(100);
-  EXPECT_FLOAT_EQ(100, timeline->CurrentTimeInternal());
-}
-
-TEST_F(AnimationAnimationTimelineTest, EmptyForwardsKeyframeAnimation) {
-  AnimatableValueKeyframeEffectModel* effect =
-      AnimatableValueKeyframeEffectModel::Create(
-          AnimatableValueKeyframeVector());
-  timing.fill_mode = Timing::FillMode::FORWARDS;
-  KeyframeEffect* keyframe_effect =
-      KeyframeEffect::Create(element.Get(), effect, timing);
-
-  timeline->Play(keyframe_effect);
-
-  UpdateClockAndService(0);
-  EXPECT_FLOAT_EQ(0, timeline->CurrentTimeInternal());
-  EXPECT_TRUE(keyframe_effect->IsInEffect());
-
-  UpdateClockAndService(100);
-  EXPECT_FLOAT_EQ(100, timeline->CurrentTimeInternal());
-}
-
-TEST_F(AnimationAnimationTimelineTest, ZeroTime) {
-  bool is_null;
-
-  document->GetAnimationClock().UpdateTime(100);
-  EXPECT_EQ(100, timeline->CurrentTimeInternal());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-
-  document->GetAnimationClock().UpdateTime(200);
-  EXPECT_EQ(200, timeline->CurrentTimeInternal());
-  EXPECT_EQ(200, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-}
-
-TEST_F(AnimationAnimationTimelineTest, PlaybackRateNormal) {
-  double zero_time = timeline->ZeroTime();
-  bool is_null;
-
-  timeline->SetPlaybackRate(1.0);
-  EXPECT_EQ(1.0, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(100);
-  EXPECT_EQ(zero_time, timeline->ZeroTime());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-
-  document->GetAnimationClock().UpdateTime(200);
-  EXPECT_EQ(zero_time, timeline->ZeroTime());
-  EXPECT_EQ(200, timeline->CurrentTimeInternal());
-  EXPECT_EQ(200, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-}
-
-TEST_F(AnimationAnimationTimelineTest, PlaybackRatePause) {
-  bool is_null;
-
-  document->GetAnimationClock().UpdateTime(100);
-  EXPECT_EQ(0, timeline->ZeroTime());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-
-  timeline->SetPlaybackRate(0.0);
-  EXPECT_EQ(0.0, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(200);
-  EXPECT_EQ(100, timeline->ZeroTime());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
-
-  timeline->SetPlaybackRate(1.0);
-  EXPECT_EQ(1.0, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(400);
-  EXPECT_EQ(100, timeline->ZeroTime());
-  EXPECT_EQ(300, timeline->CurrentTimeInternal());
-  EXPECT_EQ(300, timeline->CurrentTimeInternal(is_null));
-
-  EXPECT_FALSE(is_null);
-}
-
-TEST_F(AnimationAnimationTimelineTest, PlaybackRateSlow) {
-  bool is_null;
-
-  document->GetAnimationClock().UpdateTime(100);
-  EXPECT_EQ(0, timeline->ZeroTime());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-
-  timeline->SetPlaybackRate(0.5);
-  EXPECT_EQ(0.5, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(300);
-  EXPECT_EQ(-100, timeline->ZeroTime());
-  EXPECT_EQ(200, timeline->CurrentTimeInternal());
-  EXPECT_EQ(200, timeline->CurrentTimeInternal(is_null));
-
-  timeline->SetPlaybackRate(1.0);
-  EXPECT_EQ(1.0, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(400);
-  EXPECT_EQ(100, timeline->ZeroTime());
-  EXPECT_EQ(300, timeline->CurrentTimeInternal());
-  EXPECT_EQ(300, timeline->CurrentTimeInternal(is_null));
-
-  EXPECT_FALSE(is_null);
-}
-
-TEST_F(AnimationAnimationTimelineTest, PlaybackRateFast) {
-  bool is_null;
-
-  document->GetAnimationClock().UpdateTime(100);
-  EXPECT_EQ(0, timeline->ZeroTime());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal());
-  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
-  EXPECT_FALSE(is_null);
-
-  timeline->SetPlaybackRate(2.0);
-  EXPECT_EQ(2.0, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(300);
-  EXPECT_EQ(50, timeline->ZeroTime());
-  EXPECT_EQ(500, timeline->CurrentTimeInternal());
-  EXPECT_EQ(500, timeline->CurrentTimeInternal(is_null));
-
-  timeline->SetPlaybackRate(1.0);
-  EXPECT_EQ(1.0, timeline->PlaybackRate());
-  document->GetAnimationClock().UpdateTime(400);
-  EXPECT_EQ(-200, timeline->ZeroTime());
-  EXPECT_EQ(600, timeline->CurrentTimeInternal());
-  EXPECT_EQ(600, timeline->CurrentTimeInternal(is_null));
-
-  EXPECT_FALSE(is_null);
-}
-
-TEST_F(AnimationAnimationTimelineTest, PauseForTesting) {
-  float seek_time = 1;
-  timing.fill_mode = Timing::FillMode::FORWARDS;
-  KeyframeEffect* anim1 =
-      KeyframeEffect::Create(element.Get(),
-                             AnimatableValueKeyframeEffectModel::Create(
-                                 AnimatableValueKeyframeVector()),
-                             timing);
-  KeyframeEffect* anim2 =
-      KeyframeEffect::Create(element.Get(),
-                             AnimatableValueKeyframeEffectModel::Create(
-                                 AnimatableValueKeyframeVector()),
-                             timing);
-  Animation* animation1 = timeline->Play(anim1);
-  Animation* animation2 = timeline->Play(anim2);
-  timeline->PauseAnimationsForTesting(seek_time);
-
-  EXPECT_FLOAT_EQ(seek_time, animation1->CurrentTimeInternal());
-  EXPECT_FLOAT_EQ(seek_time, animation2->CurrentTimeInternal());
-}
-
-TEST_F(AnimationAnimationTimelineTest, DelayBeforeAnimationStart) {
-  timing.iteration_duration = 2;
-  timing.start_delay = 5;
-
-  KeyframeEffect* keyframe_effect =
-      KeyframeEffect::Create(element.Get(), nullptr, timing);
-
-  timeline->Play(keyframe_effect);
-
-  // TODO: Put the animation startTime in the future when we add the capability
-  // to change animation startTime
-  EXPECT_CALL(*platform_timing, WakeAfter(timing.start_delay - MinimumDelay()));
-  UpdateClockAndService(0);
-
-  EXPECT_CALL(*platform_timing,
-              WakeAfter(timing.start_delay - MinimumDelay() - 1.5));
-  UpdateClockAndService(1.5);
-
-  EXPECT_CALL(*platform_timing, ServiceOnNextFrame());
-  Wake();
-
-  EXPECT_CALL(*platform_timing, ServiceOnNextFrame());
-  UpdateClockAndService(4.98);
-}
-
-TEST_F(AnimationAnimationTimelineTest, UseAnimationAfterTimelineDeref) {
-  Animation* animation = timeline->Play(0);
-  timeline.Clear();
-  // Test passes if this does not crash.
-  animation->setStartTime(0, false);
-}
-
-}  // namespace blink
diff --git a/third_party/WebKit/Source/core/animation/BUILD.gn b/third_party/WebKit/Source/core/animation/BUILD.gn
index 6a30f3c..ff1442e8 100644
--- a/third_party/WebKit/Source/core/animation/BUILD.gn
+++ b/third_party/WebKit/Source/core/animation/BUILD.gn
@@ -20,8 +20,6 @@
     "AnimationEffectTimingReadOnly.h",
     "AnimationInputHelpers.cpp",
     "AnimationInputHelpers.h",
-    "AnimationTimeline.cpp",
-    "AnimationTimeline.h",
     "BasicShapeInterpolationFunctions.cpp",
     "BasicShapeInterpolationFunctions.h",
     "BasicShapePropertyFunctions.h",
@@ -109,6 +107,7 @@
     "DocumentAnimation.h",
     "DocumentAnimations.cpp",
     "DocumentAnimations.h",
+    "DocumentTimeline.cpp",
     "DocumentTimeline.h",
     "EffectInput.cpp",
     "EffectInput.h",
diff --git a/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp b/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
index 0618730..d0b7975 100644
--- a/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
+++ b/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
@@ -32,8 +32,8 @@
 
 #include <memory>
 #include "core/animation/Animation.h"
-#include "core/animation/AnimationTimeline.h"
 #include "core/animation/CompositorPendingAnimations.h"
+#include "core/animation/DocumentTimeline.h"
 #include "core/animation/ElementAnimations.h"
 #include "core/animation/KeyframeEffect.h"
 #include "core/animation/animatable/AnimatableDouble.h"
@@ -77,7 +77,7 @@
 
   Persistent<Document> document_;
   Persistent<Element> element_;
-  Persistent<AnimationTimeline> timeline_;
+  Persistent<DocumentTimeline> timeline_;
   std::unique_ptr<DummyPageHolder> page_holder_;
 
   void SetUp() override {
@@ -108,7 +108,7 @@
     document_ = &page_holder_->GetDocument();
     document_->GetAnimationClock().ResetTimeForTesting();
 
-    timeline_ = AnimationTimeline::Create(document_.Get());
+    timeline_ = DocumentTimeline::Create(document_.Get());
     timeline_->ResetForTesting();
     element_ = document_->createElement("test");
   }
diff --git a/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp b/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp
index 265a18d..def6be2 100644
--- a/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp
+++ b/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp
@@ -30,7 +30,7 @@
 
 #include "core/animation/CompositorPendingAnimations.h"
 
-#include "core/animation/AnimationTimeline.h"
+#include "core/animation/DocumentTimeline.h"
 #include "core/animation/KeyframeEffect.h"
 #include "core/dom/Document.h"
 #include "core/frame/LocalFrameView.h"
diff --git a/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp b/third_party/WebKit/Source/core/animation/DocumentTimeline.cpp
similarity index 79%
rename from third_party/WebKit/Source/core/animation/AnimationTimeline.cpp
rename to third_party/WebKit/Source/core/animation/DocumentTimeline.cpp
index 1752237..d9af1ad 100644
--- a/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp
+++ b/third_party/WebKit/Source/core/animation/DocumentTimeline.cpp
@@ -28,7 +28,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "core/animation/AnimationTimeline.h"
+#include "core/animation/DocumentTimeline.h"
 
 #include <algorithm>
 #include "core/animation/AnimationClock.h"
@@ -52,18 +52,18 @@
                        const Member<Animation>& right) {
   return Animation::HasLowerPriority(left.Get(), right.Get());
 }
-}
+}  // namespace
 
 // This value represents 1 frame at 30Hz plus a little bit of wiggle room.
 // TODO: Plumb a nominal framerate through and derive this value from that.
-const double AnimationTimeline::kMinimumDelay = 0.04;
+const double DocumentTimeline::kMinimumDelay = 0.04;
 
-AnimationTimeline* AnimationTimeline::Create(Document* document,
-                                             PlatformTiming* timing) {
-  return new AnimationTimeline(document, timing);
+DocumentTimeline* DocumentTimeline::Create(Document* document,
+                                           PlatformTiming* timing) {
+  return new DocumentTimeline(document, timing);
 }
 
-AnimationTimeline::AnimationTimeline(Document* document, PlatformTiming* timing)
+DocumentTimeline::DocumentTimeline(Document* document, PlatformTiming* timing)
     : document_(document),
       // 0 is used by unit tests which cannot initialize from the loader
       zero_time_(0),
@@ -72,7 +72,7 @@
       playback_rate_(1),
       last_current_time_internal_(0) {
   if (!timing)
-    timing_ = new AnimationTimelineTiming(this);
+    timing_ = new DocumentTimelineTiming(this);
   else
     timing_ = timing;
 
@@ -82,17 +82,17 @@
   DCHECK(document);
 }
 
-bool AnimationTimeline::IsActive() {
+bool DocumentTimeline::IsActive() {
   return document_ && document_->GetPage();
 }
 
-void AnimationTimeline::AnimationAttached(Animation& animation) {
+void DocumentTimeline::AnimationAttached(Animation& animation) {
   DCHECK_EQ(animation.TimelineInternal(), this);
   DCHECK(!animations_.Contains(&animation));
   animations_.insert(&animation);
 }
 
-Animation* AnimationTimeline::Play(AnimationEffectReadOnly* child) {
+Animation* DocumentTimeline::Play(AnimationEffectReadOnly* child) {
   if (!document_)
     return nullptr;
 
@@ -105,7 +105,7 @@
   return animation;
 }
 
-HeapVector<Member<Animation>> AnimationTimeline::getAnimations() {
+HeapVector<Member<Animation>> DocumentTimeline::getAnimations() {
   HeapVector<Member<Animation>> animations;
   for (const auto& animation : animations_) {
     if (animation->effect() &&
@@ -116,12 +116,12 @@
   return animations;
 }
 
-void AnimationTimeline::Wake() {
+void DocumentTimeline::Wake() {
   timing_->ServiceOnNextFrame();
 }
 
-void AnimationTimeline::ServiceAnimations(TimingUpdateReason reason) {
-  TRACE_EVENT0("blink", "AnimationTimeline::serviceAnimations");
+void DocumentTimeline::ServiceAnimations(TimingUpdateReason reason) {
+  TRACE_EVENT0("blink", "DocumentTimeline::serviceAnimations");
 
   last_current_time_internal_ = CurrentTimeInternal();
 
@@ -148,7 +148,7 @@
 #endif
 }
 
-void AnimationTimeline::ScheduleNextService() {
+void DocumentTimeline::ScheduleNextService() {
   DCHECK_EQ(outdated_animation_count_, 0U);
 
   double time_to_next_effect = std::numeric_limits<double>::infinity();
@@ -164,23 +164,23 @@
   }
 }
 
-void AnimationTimeline::AnimationTimelineTiming::WakeAfter(double duration) {
+void DocumentTimeline::DocumentTimelineTiming::WakeAfter(double duration) {
   if (timer_.IsActive() && timer_.NextFireInterval() < duration)
     return;
   timer_.StartOneShot(duration, BLINK_FROM_HERE);
 }
 
-void AnimationTimeline::AnimationTimelineTiming::ServiceOnNextFrame() {
+void DocumentTimeline::DocumentTimelineTiming::ServiceOnNextFrame() {
   if (timeline_->document_ && timeline_->document_->View())
     timeline_->document_->View()->ScheduleAnimation();
 }
 
-DEFINE_TRACE(AnimationTimeline::AnimationTimelineTiming) {
+DEFINE_TRACE(DocumentTimeline::DocumentTimelineTiming) {
   visitor->Trace(timeline_);
-  AnimationTimeline::PlatformTiming::Trace(visitor);
+  DocumentTimeline::PlatformTiming::Trace(visitor);
 }
 
-double AnimationTimeline::ZeroTime() {
+double DocumentTimeline::ZeroTime() {
   if (!zero_time_initialized_ && document_ && document_->Loader()) {
     zero_time_ = document_->Loader()->GetTiming().ReferenceMonotonicTime();
     zero_time_initialized_ = true;
@@ -188,18 +188,18 @@
   return zero_time_;
 }
 
-void AnimationTimeline::ResetForTesting() {
+void DocumentTimeline::ResetForTesting() {
   zero_time_ = 0;
   zero_time_initialized_ = true;
   playback_rate_ = 1;
   last_current_time_internal_ = 0;
 }
 
-double AnimationTimeline::currentTime(bool& is_null) {
+double DocumentTimeline::currentTime(bool& is_null) {
   return CurrentTimeInternal(is_null) * 1000;
 }
 
-double AnimationTimeline::CurrentTimeInternal(bool& is_null) {
+double DocumentTimeline::CurrentTimeInternal(bool& is_null) {
   if (!IsActive()) {
     is_null = true;
     return std::numeric_limits<double>::quiet_NaN();
@@ -213,27 +213,27 @@
   return result;
 }
 
-double AnimationTimeline::currentTime() {
+double DocumentTimeline::currentTime() {
   return CurrentTimeInternal() * 1000;
 }
 
-double AnimationTimeline::CurrentTimeInternal() {
+double DocumentTimeline::CurrentTimeInternal() {
   bool is_null;
   return CurrentTimeInternal(is_null);
 }
 
-double AnimationTimeline::EffectiveTime() {
+double DocumentTimeline::EffectiveTime() {
   double time = CurrentTimeInternal();
   return std::isnan(time) ? 0 : time;
 }
 
-void AnimationTimeline::PauseAnimationsForTesting(double pause_time) {
+void DocumentTimeline::PauseAnimationsForTesting(double pause_time) {
   for (const auto& animation : animations_needing_update_)
     animation->PauseForTesting(pause_time);
   ServiceAnimations(kTimingUpdateOnDemand);
 }
 
-bool AnimationTimeline::NeedsAnimationTimingUpdate() {
+bool DocumentTimeline::NeedsAnimationTimingUpdate() {
   if (CurrentTimeInternal() == last_current_time_internal_)
     return false;
 
@@ -250,12 +250,12 @@
   return !animations_needing_update_.IsEmpty();
 }
 
-void AnimationTimeline::ClearOutdatedAnimation(Animation* animation) {
+void DocumentTimeline::ClearOutdatedAnimation(Animation* animation) {
   DCHECK(!animation->Outdated());
   outdated_animation_count_--;
 }
 
-void AnimationTimeline::SetOutdatedAnimation(Animation* animation) {
+void DocumentTimeline::SetOutdatedAnimation(Animation* animation) {
   DCHECK(animation->Outdated());
   outdated_animation_count_++;
   animations_needing_update_.insert(animation);
@@ -263,7 +263,7 @@
     timing_->ServiceOnNextFrame();
 }
 
-void AnimationTimeline::SetPlaybackRate(double playback_rate) {
+void DocumentTimeline::SetPlaybackRate(double playback_rate) {
   if (!IsActive())
     return;
   double current_time = CurrentTimeInternal();
@@ -279,22 +279,22 @@
   SetAllCompositorPending(true);
 }
 
-void AnimationTimeline::SetAllCompositorPending(bool source_changed) {
+void DocumentTimeline::SetAllCompositorPending(bool source_changed) {
   for (const auto& animation : animations_) {
     animation->SetCompositorPending(source_changed);
   }
 }
 
-double AnimationTimeline::PlaybackRate() const {
+double DocumentTimeline::PlaybackRate() const {
   return playback_rate_;
 }
 
-void AnimationTimeline::InvalidateKeyframeEffects(const TreeScope& tree_scope) {
+void DocumentTimeline::InvalidateKeyframeEffects(const TreeScope& tree_scope) {
   for (const auto& animation : animations_)
     animation->InvalidateKeyframeEffect(tree_scope);
 }
 
-DEFINE_TRACE(AnimationTimeline) {
+DEFINE_TRACE(DocumentTimeline) {
   visitor->Trace(document_);
   visitor->Trace(timing_);
   visitor->Trace(animations_needing_update_);
diff --git a/third_party/WebKit/Source/core/animation/DocumentTimeline.h b/third_party/WebKit/Source/core/animation/DocumentTimeline.h
index a408df7..089ce86f 100644
--- a/third_party/WebKit/Source/core/animation/DocumentTimeline.h
+++ b/third_party/WebKit/Source/core/animation/DocumentTimeline.h
@@ -31,26 +31,142 @@
 #ifndef DocumentTimeline_h
 #define DocumentTimeline_h
 
+#include <memory>
 #include "core/CoreExport.h"
-#include "core/animation/AnimationTimeline.h"
+#include "core/animation/AnimationEffectReadOnly.h"
+#include "core/animation/EffectModel.h"
+#include "core/animation/SuperAnimationTimeline.h"
+#include "core/dom/Element.h"
+#include "core/dom/TaskRunnerHelper.h"
+#include "platform/Timer.h"
+#include "platform/animation/CompositorAnimationTimeline.h"
 #include "platform/bindings/ScriptWrappable.h"
+#include "platform/heap/Handle.h"
+#include "platform/wtf/RefPtr.h"
+#include "platform/wtf/Vector.h"
 
 namespace blink {
 
+class Animation;
+class AnimationEffectReadOnly;
 class Document;
 
-class CORE_EXPORT DocumentTimeline final : public AnimationTimeline {
+// DocumentTimeline is constructed and owned by Document, and tied to its
+// lifecycle.
+class CORE_EXPORT DocumentTimeline : public SuperAnimationTimeline {
+  DEFINE_WRAPPERTYPEINFO();
+
  public:
-  static DocumentTimeline* Create(Document* document) {
-    return new DocumentTimeline(document);
+  class PlatformTiming : public GarbageCollectedFinalized<PlatformTiming> {
+   public:
+    // Calls DocumentTimeline's wake() method after duration seconds.
+    virtual void WakeAfter(double duration) = 0;
+    virtual void ServiceOnNextFrame() = 0;
+    virtual ~PlatformTiming() {}
+    DEFINE_INLINE_VIRTUAL_TRACE() {}
+  };
+
+  static DocumentTimeline* Create(Document*, PlatformTiming* = nullptr);
+
+  virtual ~DocumentTimeline() {}
+
+  bool IsDocumentTimeline() const final { return true; }
+
+  void ServiceAnimations(TimingUpdateReason);
+  void ScheduleNextService();
+
+  Animation* Play(AnimationEffectReadOnly*);
+  HeapVector<Member<Animation>> getAnimations();
+
+  void AnimationAttached(Animation&);
+
+  bool IsActive();
+  bool HasPendingUpdates() const {
+    return !animations_needing_update_.IsEmpty();
+  }
+  double ZeroTime();
+  double currentTime(bool& is_null) override;
+  double currentTime();
+  double CurrentTimeInternal(bool& is_null);
+  double CurrentTimeInternal();
+  double EffectiveTime();
+  void PauseAnimationsForTesting(double);
+
+  void SetAllCompositorPending(bool source_changed = false);
+  void SetOutdatedAnimation(Animation*);
+  void ClearOutdatedAnimation(Animation*);
+  bool HasOutdatedAnimation() const { return outdated_animation_count_ > 0; }
+  bool NeedsAnimationTimingUpdate();
+  void InvalidateKeyframeEffects(const TreeScope&);
+
+  void SetPlaybackRate(double);
+  double PlaybackRate() const;
+
+  CompositorAnimationTimeline* CompositorTimeline() const {
+    return compositor_timeline_.get();
   }
 
+  Document* GetDocument() { return document_.Get(); }
+  void Wake();
+  void ResetForTesting();
+
+  DECLARE_VIRTUAL_TRACE();
+
+ protected:
+  DocumentTimeline(Document*, PlatformTiming*);
+
  private:
-  DocumentTimeline(Document* document) : AnimationTimeline(document, nullptr) {}
+  Member<Document> document_;
+  double zero_time_;
+  bool zero_time_initialized_;
+  unsigned outdated_animation_count_;
+  // Animations which will be updated on the next frame
+  // i.e. current, in effect, or had timing changed
+  HeapHashSet<Member<Animation>> animations_needing_update_;
+  HeapHashSet<WeakMember<Animation>> animations_;
+
+  double playback_rate_;
+
+  friend class SMILTimeContainer;
+  static const double kMinimumDelay;
+
+  Member<PlatformTiming> timing_;
+  double last_current_time_internal_;
+
+  std::unique_ptr<CompositorAnimationTimeline> compositor_timeline_;
+
+  class DocumentTimelineTiming final : public PlatformTiming {
+   public:
+    DocumentTimelineTiming(DocumentTimeline* timeline)
+        : timeline_(timeline),
+          timer_(TaskRunnerHelper::Get(TaskType::kUnspecedTimer,
+                                       timeline->GetDocument()),
+                 this,
+                 &DocumentTimelineTiming::TimerFired) {
+      DCHECK(timeline_);
+    }
+
+    void WakeAfter(double duration) override;
+    void ServiceOnNextFrame() override;
+
+    void TimerFired(TimerBase*) { timeline_->Wake(); }
+
+    DECLARE_VIRTUAL_TRACE();
+
+   private:
+    Member<DocumentTimeline> timeline_;
+    TaskRunnerTimer<DocumentTimelineTiming> timer_;
+  };
 
   friend class AnimationDocumentTimelineTest;
 };
 
+DEFINE_TYPE_CASTS(DocumentTimeline,
+                  SuperAnimationTimeline,
+                  timeline,
+                  timeline->IsDocumentTimeline(),
+                  timeline.IsDocumentTimeline());
+
 }  // namespace blink
 
 #endif
diff --git a/third_party/WebKit/Source/core/animation/DocumentTimeline.idl b/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
index 4ef2f72c..71237885 100644
--- a/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
+++ b/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
@@ -5,7 +5,6 @@
 // https://w3c.github.io/web-animations/#the-documenttimeline-interface
 
 [
-    RuntimeEnabled=WebAnimationsAPI,
-    ImplementedAs=AnimationTimeline
+    RuntimeEnabled=WebAnimationsAPI
 ] interface DocumentTimeline : AnimationTimeline {
 };
diff --git a/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp b/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp
index 9b187bab..cab0eae 100644
--- a/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp
+++ b/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp
@@ -30,32 +30,269 @@
 
 #include "core/animation/DocumentTimeline.h"
 
-#include "core/animation/KeyframeEffect.h"
-#include "core/dom/Document.h"
-#include "core/testing/DummyPageHolder.h"
-#include "testing/gtest/include/gtest/gtest.h"
 #include <memory>
+#include "core/animation/AnimationClock.h"
+#include "core/animation/AnimationEffectReadOnly.h"
+#include "core/animation/CompositorPendingAnimations.h"
+#include "core/animation/KeyframeEffect.h"
+#include "core/animation/KeyframeEffectModel.h"
+#include "core/dom/Document.h"
+#include "core/dom/Element.h"
+#include "core/dom/QualifiedName.h"
+#include "core/testing/DummyPageHolder.h"
+#include "platform/weborigin/KURL.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
 
 namespace blink {
 
+class MockPlatformTiming : public DocumentTimeline::PlatformTiming {
+ public:
+  MOCK_METHOD1(WakeAfter, void(double));
+  MOCK_METHOD0(ServiceOnNextFrame, void());
+
+  DEFINE_INLINE_TRACE() { DocumentTimeline::PlatformTiming::Trace(visitor); }
+};
+
 class AnimationDocumentTimelineTest : public ::testing::Test {
  protected:
   virtual void SetUp() {
     page_holder = DummyPageHolder::Create();
     document = &page_holder->GetDocument();
+    document->GetAnimationClock().ResetTimeForTesting();
+    element = Element::Create(QualifiedName::Null(), document.Get());
+    platform_timing = new MockPlatformTiming;
+    timeline = DocumentTimeline::Create(document.Get(), platform_timing);
+    timeline->ResetForTesting();
+    ASSERT_EQ(0, timeline->CurrentTimeInternal());
   }
 
   virtual void TearDown() {
     document.Release();
+    element.Release();
+    timeline.Release();
     ThreadState::Current()->CollectAllGarbage();
   }
 
+  void UpdateClockAndService(double time) {
+    document->GetAnimationClock().UpdateTime(time);
+    document->GetCompositorPendingAnimations().Update(
+        Optional<CompositorElementIdSet>(), false);
+    timeline->ServiceAnimations(kTimingUpdateForAnimationFrame);
+    timeline->ScheduleNextService();
+  }
+
   std::unique_ptr<DummyPageHolder> page_holder;
   Persistent<Document> document;
+  Persistent<Element> element;
   Persistent<DocumentTimeline> timeline;
   Timing timing;
+  Persistent<MockPlatformTiming> platform_timing;
+
+  void Wake() { timeline->Wake(); }
+
+  double MinimumDelay() { return DocumentTimeline::kMinimumDelay; }
 };
 
+TEST_F(AnimationDocumentTimelineTest, EmptyKeyframeAnimation) {
+  AnimatableValueKeyframeEffectModel* effect =
+      AnimatableValueKeyframeEffectModel::Create(
+          AnimatableValueKeyframeVector());
+  KeyframeEffect* keyframe_effect =
+      KeyframeEffect::Create(element.Get(), effect, timing);
+
+  timeline->Play(keyframe_effect);
+
+  UpdateClockAndService(0);
+  EXPECT_FLOAT_EQ(0, timeline->CurrentTimeInternal());
+  EXPECT_FALSE(keyframe_effect->IsInEffect());
+
+  UpdateClockAndService(100);
+  EXPECT_FLOAT_EQ(100, timeline->CurrentTimeInternal());
+}
+
+TEST_F(AnimationDocumentTimelineTest, EmptyForwardsKeyframeAnimation) {
+  AnimatableValueKeyframeEffectModel* effect =
+      AnimatableValueKeyframeEffectModel::Create(
+          AnimatableValueKeyframeVector());
+  timing.fill_mode = Timing::FillMode::FORWARDS;
+  KeyframeEffect* keyframe_effect =
+      KeyframeEffect::Create(element.Get(), effect, timing);
+
+  timeline->Play(keyframe_effect);
+
+  UpdateClockAndService(0);
+  EXPECT_FLOAT_EQ(0, timeline->CurrentTimeInternal());
+  EXPECT_TRUE(keyframe_effect->IsInEffect());
+
+  UpdateClockAndService(100);
+  EXPECT_FLOAT_EQ(100, timeline->CurrentTimeInternal());
+}
+
+TEST_F(AnimationDocumentTimelineTest, ZeroTime) {
+  bool is_null;
+
+  document->GetAnimationClock().UpdateTime(100);
+  EXPECT_EQ(100, timeline->CurrentTimeInternal());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+
+  document->GetAnimationClock().UpdateTime(200);
+  EXPECT_EQ(200, timeline->CurrentTimeInternal());
+  EXPECT_EQ(200, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+}
+
+TEST_F(AnimationDocumentTimelineTest, PlaybackRateNormal) {
+  double zero_time = timeline->ZeroTime();
+  bool is_null;
+
+  timeline->SetPlaybackRate(1.0);
+  EXPECT_EQ(1.0, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(100);
+  EXPECT_EQ(zero_time, timeline->ZeroTime());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+
+  document->GetAnimationClock().UpdateTime(200);
+  EXPECT_EQ(zero_time, timeline->ZeroTime());
+  EXPECT_EQ(200, timeline->CurrentTimeInternal());
+  EXPECT_EQ(200, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+}
+
+TEST_F(AnimationDocumentTimelineTest, PlaybackRatePause) {
+  bool is_null;
+
+  document->GetAnimationClock().UpdateTime(100);
+  EXPECT_EQ(0, timeline->ZeroTime());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+
+  timeline->SetPlaybackRate(0.0);
+  EXPECT_EQ(0.0, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(200);
+  EXPECT_EQ(100, timeline->ZeroTime());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
+
+  timeline->SetPlaybackRate(1.0);
+  EXPECT_EQ(1.0, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(400);
+  EXPECT_EQ(100, timeline->ZeroTime());
+  EXPECT_EQ(300, timeline->CurrentTimeInternal());
+  EXPECT_EQ(300, timeline->CurrentTimeInternal(is_null));
+
+  EXPECT_FALSE(is_null);
+}
+
+TEST_F(AnimationDocumentTimelineTest, PlaybackRateSlow) {
+  bool is_null;
+
+  document->GetAnimationClock().UpdateTime(100);
+  EXPECT_EQ(0, timeline->ZeroTime());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+
+  timeline->SetPlaybackRate(0.5);
+  EXPECT_EQ(0.5, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(300);
+  EXPECT_EQ(-100, timeline->ZeroTime());
+  EXPECT_EQ(200, timeline->CurrentTimeInternal());
+  EXPECT_EQ(200, timeline->CurrentTimeInternal(is_null));
+
+  timeline->SetPlaybackRate(1.0);
+  EXPECT_EQ(1.0, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(400);
+  EXPECT_EQ(100, timeline->ZeroTime());
+  EXPECT_EQ(300, timeline->CurrentTimeInternal());
+  EXPECT_EQ(300, timeline->CurrentTimeInternal(is_null));
+
+  EXPECT_FALSE(is_null);
+}
+
+TEST_F(AnimationDocumentTimelineTest, PlaybackRateFast) {
+  bool is_null;
+
+  document->GetAnimationClock().UpdateTime(100);
+  EXPECT_EQ(0, timeline->ZeroTime());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal());
+  EXPECT_EQ(100, timeline->CurrentTimeInternal(is_null));
+  EXPECT_FALSE(is_null);
+
+  timeline->SetPlaybackRate(2.0);
+  EXPECT_EQ(2.0, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(300);
+  EXPECT_EQ(50, timeline->ZeroTime());
+  EXPECT_EQ(500, timeline->CurrentTimeInternal());
+  EXPECT_EQ(500, timeline->CurrentTimeInternal(is_null));
+
+  timeline->SetPlaybackRate(1.0);
+  EXPECT_EQ(1.0, timeline->PlaybackRate());
+  document->GetAnimationClock().UpdateTime(400);
+  EXPECT_EQ(-200, timeline->ZeroTime());
+  EXPECT_EQ(600, timeline->CurrentTimeInternal());
+  EXPECT_EQ(600, timeline->CurrentTimeInternal(is_null));
+
+  EXPECT_FALSE(is_null);
+}
+
+TEST_F(AnimationDocumentTimelineTest, PauseForTesting) {
+  float seek_time = 1;
+  timing.fill_mode = Timing::FillMode::FORWARDS;
+  KeyframeEffect* anim1 =
+      KeyframeEffect::Create(element.Get(),
+                             AnimatableValueKeyframeEffectModel::Create(
+                                 AnimatableValueKeyframeVector()),
+                             timing);
+  KeyframeEffect* anim2 =
+      KeyframeEffect::Create(element.Get(),
+                             AnimatableValueKeyframeEffectModel::Create(
+                                 AnimatableValueKeyframeVector()),
+                             timing);
+  Animation* animation1 = timeline->Play(anim1);
+  Animation* animation2 = timeline->Play(anim2);
+  timeline->PauseAnimationsForTesting(seek_time);
+
+  EXPECT_FLOAT_EQ(seek_time, animation1->CurrentTimeInternal());
+  EXPECT_FLOAT_EQ(seek_time, animation2->CurrentTimeInternal());
+}
+
+TEST_F(AnimationDocumentTimelineTest, DelayBeforeAnimationStart) {
+  timing.iteration_duration = 2;
+  timing.start_delay = 5;
+
+  KeyframeEffect* keyframe_effect =
+      KeyframeEffect::Create(element.Get(), nullptr, timing);
+
+  timeline->Play(keyframe_effect);
+
+  // TODO: Put the animation startTime in the future when we add the capability
+  // to change animation startTime
+  EXPECT_CALL(*platform_timing, WakeAfter(timing.start_delay - MinimumDelay()));
+  UpdateClockAndService(0);
+
+  EXPECT_CALL(*platform_timing,
+              WakeAfter(timing.start_delay - MinimumDelay() - 1.5));
+  UpdateClockAndService(1.5);
+
+  EXPECT_CALL(*platform_timing, ServiceOnNextFrame());
+  Wake();
+
+  EXPECT_CALL(*platform_timing, ServiceOnNextFrame());
+  UpdateClockAndService(4.98);
+}
+
+TEST_F(AnimationDocumentTimelineTest, UseAnimationAfterTimelineDeref) {
+  Animation* animation = timeline->Play(0);
+  timeline.Clear();
+  // Test passes if this does not crash.
+  animation->setStartTime(0, false);
+}
+
 TEST_F(AnimationDocumentTimelineTest, PlayAfterDocumentDeref) {
   timing.iteration_duration = 2;
   timing.start_delay = 5;
diff --git a/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h b/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h
index e582d1e3..9295883 100644
--- a/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h
+++ b/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h
@@ -16,7 +16,7 @@
 
   virtual double currentTime(bool&) = 0;
 
-  virtual bool IsAnimationTimeline() const { return false; }
+  virtual bool IsDocumentTimeline() const { return false; }
 
   DEFINE_INLINE_VIRTUAL_TRACE() {}
 };
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
index 0d8fe07..7da43f6 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
@@ -34,7 +34,6 @@
 #include "core/HTMLNames.h"
 #include "core/MediaTypeNames.h"
 #include "core/StylePropertyShorthand.h"
-#include "core/animation/AnimationTimeline.h"
 #include "core/animation/CSSInterpolationEnvironment.h"
 #include "core/animation/CSSInterpolationTypesMap.h"
 #include "core/animation/ElementAnimations.h"
diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp
index 8ded0bc..79c6a392 100644
--- a/third_party/WebKit/Source/core/dom/Element.cpp
+++ b/third_party/WebKit/Source/core/dom/Element.cpp
@@ -35,7 +35,6 @@
 #include "core/CSSValueKeywords.h"
 #include "core/SVGNames.h"
 #include "core/XMLNames.h"
-#include "core/animation/AnimationTimeline.h"
 #include "core/animation/CustomCompositorAnimations.h"
 #include "core/animation/css/CSSAnimations.h"
 #include "core/css/CSSIdentifierValue.h"
diff --git a/third_party/WebKit/Source/core/exported/WebFrame.cpp b/third_party/WebKit/Source/core/exported/WebFrame.cpp
index 21ac08c..7513a770 100644
--- a/third_party/WebKit/Source/core/exported/WebFrame.cpp
+++ b/third_party/WebKit/Source/core/exported/WebFrame.cpp
@@ -84,7 +84,7 @@
 
   v8::HandleScope handle_scope(v8::Isolate::GetCurrent());
   WindowProxyManager::GlobalProxyVector global_proxies;
-  old_frame->GetWindowProxyManager()->ClearForNavigation();
+  old_frame->GetWindowProxyManager()->ClearForSwap();
   old_frame->GetWindowProxyManager()->ReleaseGlobalProxies(global_proxies);
 
   // Although the Document in this frame is now unloaded, many resources
diff --git a/third_party/WebKit/Source/core/exported/WebMemoryStatistics.cpp b/third_party/WebKit/Source/core/exported/WebMemoryStatistics.cpp
index 465a85a..d1800ac 100644
--- a/third_party/WebKit/Source/core/exported/WebMemoryStatistics.cpp
+++ b/third_party/WebKit/Source/core/exported/WebMemoryStatistics.cpp
@@ -9,37 +9,10 @@
 
 namespace blink {
 
-namespace {
-
-class LightPartitionStatsDumperImpl : public WTF::PartitionStatsDumper {
- public:
-  LightPartitionStatsDumperImpl() : total_active_bytes_(0) {}
-
-  void PartitionDumpTotals(
-      const char* partition_name,
-      const WTF::PartitionMemoryStats* memory_stats) override {
-    total_active_bytes_ += memory_stats->total_active_bytes;
-  }
-
-  void PartitionsDumpBucketStats(
-      const char* partition_name,
-      const WTF::PartitionBucketMemoryStats*) override {}
-
-  size_t TotalActiveBytes() const { return total_active_bytes_; }
-
- private:
-  size_t total_active_bytes_;
-};
-
-}  // namespace
-
 WebMemoryStatistics WebMemoryStatistics::Get() {
-  LightPartitionStatsDumperImpl dumper;
   WebMemoryStatistics statistics;
-
-  WTF::Partitions::DumpMemoryStats(true, &dumper);
-  statistics.partition_alloc_total_allocated_bytes = dumper.TotalActiveBytes();
-
+  statistics.partition_alloc_total_allocated_bytes =
+      WTF::Partitions::TotalActiveBytes();
   statistics.blink_gc_total_allocated_bytes =
       ProcessHeap::TotalAllocatedObjectSize() +
       ProcessHeap::TotalMarkedObjectSize();
diff --git a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
index df097aed..c0a70f3 100644
--- a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
+++ b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
@@ -548,7 +548,7 @@
   return Response::OK();
 }
 
-AnimationTimeline& InspectorAnimationAgent::ReferenceTimeline() {
+DocumentTimeline& InspectorAnimationAgent::ReferenceTimeline() {
   return inspected_frames_->Root()->GetDocument()->Timeline();
 }
 
diff --git a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.h b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.h
index 2cb22937..47212c1 100644
--- a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.h
+++ b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.h
@@ -15,7 +15,7 @@
 
 namespace blink {
 
-class AnimationTimeline;
+class DocumentTimeline;
 class InspectedFrames;
 class InspectorCSSAgent;
 
@@ -79,7 +79,7 @@
       std::unique_ptr<protocol::Animation::KeyframesRule> keyframe_rule =
           nullptr);
   double NormalizedStartTime(blink::Animation&);
-  AnimationTimeline& ReferenceTimeline();
+  DocumentTimeline& ReferenceTimeline();
   blink::Animation* AnimationClone(blink::Animation*);
   String CreateCSSId(blink::Animation&);
 
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc
index 6a04416..b277bea9 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc
@@ -162,7 +162,7 @@
         NGInlineItemResult(item_index_, offset_, item.EndOffset()));
     NGInlineItemResult* item_result = &item_results->back();
     if (item.Type() == NGInlineItem::kText) {
-      state = HandleText(item, item_result);
+      state = HandleText(*item_results, item, item_result);
     } else if (item.Type() == NGInlineItem::kAtomicInline) {
       state = HandleAtomicInline(item, item_result);
     } else if (item.Type() == NGInlineItem::kControl) {
@@ -208,7 +208,15 @@
                              content_offset_.block_offset);
 }
 
+bool NGLineBreaker::IsFirstBreakOpportunity(
+    unsigned offset,
+    const NGInlineItemResults& results) const {
+  unsigned line_start_offset = results.front().start_offset;
+  return break_iterator_.NextBreakOpportunity(line_start_offset) >= offset;
+}
+
 NGLineBreaker::LineBreakState NGLineBreaker::HandleText(
+    const NGInlineItemResults& results,
     const NGInlineItem& item,
     NGInlineItemResult* item_result) {
   DCHECK_EQ(item.Type(), NGInlineItem::kText);
@@ -234,9 +242,22 @@
   if (auto_wrap_) {
     // Try to break inside of this text item.
     BreakText(item_result, item, available_width - position_);
-    position_ += item_result->inline_size;
+    LayoutUnit next_position = position_ + item_result->inline_size;
+    bool is_overflow = next_position > available_width;
 
-    bool is_overflow = position_ > available_width;
+    // If overflow and no break opportunities exist, and if 'break-word', try to
+    // break at every grapheme cluster boundary.
+    if (is_overflow && break_if_overflow_ &&
+        IsFirstBreakOpportunity(item_result->end_offset, results)) {
+      DCHECK_EQ(break_iterator_.BreakType(), LineBreakType::kNormal);
+      break_iterator_.SetBreakType(LineBreakType::kBreakCharacter);
+      BreakText(item_result, item, available_width - position_);
+      break_iterator_.SetBreakType(LineBreakType::kNormal);
+      next_position = position_ + item_result->inline_size;
+      is_overflow = next_position > available_width;
+    }
+
+    position_ = next_position;
     item_result->no_break_opportunities_inside = is_overflow;
     if (item_result->end_offset < item.EndOffset()) {
       offset_ = item_result->end_offset;
@@ -608,16 +629,24 @@
   if (auto_wrap_) {
     break_iterator_.SetLocale(style.LocaleForLineBreakIterator());
 
-    if (style.WordBreak() == EWordBreak::kBreakAll ||
-        style.WordBreak() == EWordBreak::kBreakWord) {
-      break_iterator_.SetBreakType(LineBreakType::kBreakAll);
-    } else if (style.WordBreak() == EWordBreak::kKeepAll) {
-      break_iterator_.SetBreakType(LineBreakType::kKeepAll);
-    } else {
-      break_iterator_.SetBreakType(LineBreakType::kNormal);
+    switch (style.WordBreak()) {
+      case EWordBreak::kNormal:
+        break_if_overflow_ = style.OverflowWrap() == EOverflowWrap::kBreakWord;
+        break_iterator_.SetBreakType(LineBreakType::kNormal);
+        break;
+      case EWordBreak::kBreakAll:
+        break_if_overflow_ = false;
+        break_iterator_.SetBreakType(LineBreakType::kBreakAll);
+        break;
+      case EWordBreak::kBreakWord:
+        break_if_overflow_ = true;
+        break_iterator_.SetBreakType(LineBreakType::kNormal);
+        break;
+      case EWordBreak::kKeepAll:
+        break_if_overflow_ = false;
+        break_iterator_.SetBreakType(LineBreakType::kKeepAll);
+        break;
     }
-
-    // TODO(kojii): Implement word-wrap/overflow-wrap property
   }
 
   spacing_.SetSpacing(style.GetFontDescription());
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.h b/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.h
index 780f7a0..774c961 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.h
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.h
@@ -64,7 +64,8 @@
     kForcedBreak
   };
 
-  LineBreakState HandleText(const NGInlineItem&,
+  LineBreakState HandleText(const NGInlineItemResults&,
+                            const NGInlineItem&,
                             NGInlineItemResult*);
   void BreakText(NGInlineItemResult*,
                  const NGInlineItem&,
@@ -84,6 +85,7 @@
   void SetShouldCreateLineBox();
 
   void SetCurrentStyle(const ComputedStyle&);
+  bool IsFirstBreakOpportunity(unsigned, const NGInlineItemResults&) const;
 
   void MoveToNextOf(const NGInlineItem&);
   void MoveToNextOf(const NGInlineItemResult&);
@@ -105,6 +107,7 @@
   ShapeResultSpacing<String> spacing_;
 
   bool auto_wrap_;
+  bool break_if_overflow_;
 
   // We don't create "certain zero-height line boxes".
   // https://drafts.csswg.org/css2/visuren.html#phantom-line-box
diff --git a/third_party/WebKit/Source/core/loader/PingLoader.cpp b/third_party/WebKit/Source/core/loader/PingLoader.cpp
index b86bbe12..c95e703 100644
--- a/third_party/WebKit/Source/core/loader/PingLoader.cpp
+++ b/third_party/WebKit/Source/core/loader/PingLoader.cpp
@@ -54,6 +54,7 @@
 #include "platform/loader/fetch/FetchContext.h"
 #include "platform/loader/fetch/FetchInitiatorTypeNames.h"
 #include "platform/loader/fetch/FetchUtils.h"
+#include "platform/loader/fetch/RawResource.h"
 #include "platform/loader/fetch/ResourceError.h"
 #include "platform/loader/fetch/ResourceFetcher.h"
 #include "platform/loader/fetch/ResourceLoaderOptions.h"
@@ -459,7 +460,6 @@
   if (!frame->GetDocument())
     return false;
 
-  // TODO(mkwst): CSP is not enforced on redirects, crbug.com/372197
   if (!ContentSecurityPolicy::ShouldBypassMainWorld(frame->GetDocument()) &&
       !frame->GetDocument()->GetContentSecurityPolicy()->AllowConnectToSource(
           url)) {
@@ -476,12 +476,20 @@
   ResourceRequest request(url);
   request.SetHTTPMethod(HTTPNames::POST);
   request.SetHTTPHeaderField(HTTPNames::Cache_Control, "max-age=0");
-  FinishPingRequestInitialization(request, frame,
-                                  WebURLRequest::kRequestContextBeacon);
-
+  request.SetKeepalive(true);
+  request.SetRequestContext(WebURLRequest::kRequestContextBeacon);
   beacon.Serialize(request);
+  FetchParameters params(request);
+  params.MutableOptions().initiator_info.name = FetchInitiatorTypeNames::beacon;
 
-  return SendPingCommon(frame, request, FetchInitiatorTypeNames::beacon);
+  Resource* resource =
+      RawResource::Fetch(params, frame->GetDocument()->Fetcher());
+  if (resource && resource->GetStatus() != ResourceStatus::kLoadError) {
+    frame->Loader().Client()->DidDispatchPingLoader(request.Url());
+    return true;
+  }
+
+  return false;
 }
 
 }  // namespace
diff --git a/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp b/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp
index e441f728..6171a36d 100644
--- a/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp
+++ b/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp
@@ -256,10 +256,10 @@
   DCHECK(IsTimelineRunning());
   DCHECK(!wakeup_timer_.IsActive());
 
-  if (delay_time < AnimationTimeline::kMinimumDelay) {
+  if (delay_time < DocumentTimeline::kMinimumDelay) {
     ServiceOnNextFrame();
   } else {
-    ScheduleWakeUp(delay_time - AnimationTimeline::kMinimumDelay,
+    ScheduleWakeUp(delay_time - DocumentTimeline::kMinimumDelay,
                    kFutureAnimationFrame);
   }
 }
diff --git a/third_party/WebKit/Source/modules/serviceworkers/FetchEvent.cpp b/third_party/WebKit/Source/modules/serviceworkers/FetchEvent.cpp
index a87671d0..34d4cc11 100644
--- a/third_party/WebKit/Source/modules/serviceworkers/FetchEvent.cpp
+++ b/third_party/WebKit/Source/modules/serviceworkers/FetchEvent.cpp
@@ -164,6 +164,10 @@
   if (!script_state->ContextIsValid())
     return;
   DCHECK(preload_response_property_);
+  if (preload_response_property_->GetState() !=
+      PreloadResponseProperty::kPending) {
+    return;
+  }
   preload_response_property_->Reject(
       ServiceWorkerError::Take(nullptr, *error.get()));
 }
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
index f325f02..3af6858 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
@@ -1025,6 +1025,11 @@
       existing_resource->Options().synchronous_policy)
     return false;
 
+  if (existing_resource->GetResourceRequest().GetKeepalive() ||
+      params.GetResourceRequest().GetKeepalive()) {
+    return false;
+  }
+
   // securityOrigin has more complicated checks which callers are responsible
   // for.
 
@@ -1523,10 +1528,14 @@
 
 void ResourceFetcher::StopFetching() {
   HeapVector<Member<ResourceLoader>> loaders_to_cancel;
-  for (const auto& loader : non_blocking_loaders_)
-    loaders_to_cancel.push_back(loader);
-  for (const auto& loader : loaders_)
-    loaders_to_cancel.push_back(loader);
+  for (const auto& loader : non_blocking_loaders_) {
+    if (!loader->GetKeepalive())
+      loaders_to_cancel.push_back(loader);
+  }
+  for (const auto& loader : loaders_) {
+    if (!loader->GetKeepalive())
+      loaders_to_cancel.push_back(loader);
+  }
 
   for (const auto& loader : loaders_to_cancel) {
     if (loaders_.Contains(loader) || non_blocking_loaders_.Contains(loader))
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
index d3fe5cf..43b2095 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
@@ -87,6 +87,9 @@
   DCHECK(loader_);
   loader_->SetDefersLoading(Context().DefersLoading());
 
+  if (request.GetKeepalive())
+    keepalive_ = this;
+
   if (is_cache_aware_loading_activated_) {
     // Override cache policy for cache-aware loading. If this request fails, a
     // reload with original request will be triggered in DidFail().
@@ -106,6 +109,7 @@
 void ResourceLoader::Restart(const ResourceRequest& request) {
   CHECK_EQ(resource_->Options().synchronous_policy, kRequestAsynchronously);
 
+  keepalive_.Clear();
   loader_.reset();
   Start(request);
 }
@@ -449,6 +453,7 @@
   resource_->SetEncodedBodyLength(encoded_body_length);
   resource_->SetDecodedBodyLength(decoded_body_length);
 
+  keepalive_.Clear();
   loader_.reset();
 
   network_instrumentation::EndResourceLoad(
@@ -478,6 +483,7 @@
     return;
   }
 
+  keepalive_.Clear();
   loader_.reset();
 
   network_instrumentation::EndResourceLoad(
@@ -556,4 +562,8 @@
   is_cache_aware_loading_activated_ = true;
 }
 
+bool ResourceLoader::GetKeepalive() const {
+  return resource_->GetResourceRequest().GetKeepalive();
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h
index 9d114e7..d887df5 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h
@@ -31,6 +31,8 @@
 
 #include <memory>
 #include "platform/PlatformExport.h"
+#include "platform/heap/Handle.h"
+#include "platform/heap/SelfKeepAlive.h"
 #include "platform/loader/fetch/ResourceLoaderOptions.h"
 #include "platform/loader/fetch/ResourceRequest.h"
 #include "platform/wtf/Forward.h"
@@ -75,6 +77,7 @@
   }
 
   ResourceFetcher* Fetcher() { return fetcher_; }
+  bool GetKeepalive() const;
 
   // WebURLLoaderClient
   //
@@ -132,6 +135,11 @@
   std::unique_ptr<WebURLLoader> loader_;
   Member<ResourceFetcher> fetcher_;
   Member<Resource> resource_;
+
+  // Set when the request's "keepalive" is specified (e.g., for SendBeacon).
+  // https://fetch.spec.whatwg.org/#request-keepalive-flag
+  SelfKeepAlive<ResourceLoader> keepalive_;
+
   bool is_cache_aware_loading_activated_;
 };
 
diff --git a/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp b/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp
index d0e10b6..b2ec3e8 100644
--- a/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp
+++ b/third_party/WebKit/Source/platform/testing/UnitTestHelpers.cpp
@@ -89,6 +89,9 @@
   return FilePathToWebString(BlinkRootFilePath());
 }
 
+// TODO(sashab): Once all tests from web/ are removed, add CoreTestDataPath() at
+// Source/core/testing/data and update callers to use CoreTestDataPath() or
+// PlatformTestDataPath() as required.
 String WebTestDataPath(const String& relative_path) {
   return FilePathToWebString(
       BlinkRootFilePath()
diff --git a/third_party/WebKit/Source/platform/wtf/allocator/Partitions.cpp b/third_party/WebKit/Source/platform/wtf/allocator/Partitions.cpp
index b96cc6e..3dae2e353 100644
--- a/third_party/WebKit/Source/platform/wtf/allocator/Partitions.cpp
+++ b/third_party/WebKit/Source/platform/wtf/allocator/Partitions.cpp
@@ -117,6 +117,36 @@
                      partition_stats_dumper);
 }
 
+namespace {
+
+class LightPartitionStatsDumperImpl : public WTF::PartitionStatsDumper {
+ public:
+  LightPartitionStatsDumperImpl() : total_active_bytes_(0) {}
+
+  void PartitionDumpTotals(
+      const char* partition_name,
+      const WTF::PartitionMemoryStats* memory_stats) override {
+    total_active_bytes_ += memory_stats->total_active_bytes;
+  }
+
+  void PartitionsDumpBucketStats(
+      const char* partition_name,
+      const WTF::PartitionBucketMemoryStats*) override {}
+
+  size_t TotalActiveBytes() const { return total_active_bytes_; }
+
+ private:
+  size_t total_active_bytes_;
+};
+
+}  // namespace
+
+size_t Partitions::TotalActiveBytes() {
+  LightPartitionStatsDumperImpl dumper;
+  WTF::Partitions::DumpMemoryStats(true, &dumper);
+  return dumper.TotalActiveBytes();
+}
+
 static NEVER_INLINE void PartitionsOutOfMemoryUsing2G() {
   size_t signature = 2UL * 1024 * 1024 * 1024;
   base::debug::Alias(&signature);
diff --git a/third_party/WebKit/Source/platform/wtf/allocator/Partitions.h b/third_party/WebKit/Source/platform/wtf/allocator/Partitions.h
index 2b17085c..f24d4b4 100644
--- a/third_party/WebKit/Source/platform/wtf/allocator/Partitions.h
+++ b/third_party/WebKit/Source/platform/wtf/allocator/Partitions.h
@@ -95,6 +95,8 @@
     return total_size;
   }
 
+  static size_t TotalActiveBytes();
+
   static void DecommitFreeableMemory();
 
   static void ReportMemoryUsageHistogram();
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index f47f58a..927af53a 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -8724,8 +8724,7 @@
   <int value="2" label="Unknown"/>
 </enum>
 
-
-<enum name="DXGI_COLOR_SPACE_TYPE" type="int">
+<enum name="DXGI_COLOR_SPACE_TYPE">
   <summary>
     DirectX color space type. Documented here:
     https://msdn.microsoft.com/en-us/library/windows/desktop/dn903661(v=vs.85).aspx
@@ -8752,7 +8751,7 @@
   <int value="19" label="DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020"/>
 </enum>
 
-<enum name="DxgiFramePresentationMode" type="int">
+<enum name="DxgiFramePresentationMode">
   <int value="0" label="Composed"/>
   <int value="1" label="Overlay"/>
   <int value="2" label="None (Unknown)"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 486537a55..1da648b 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -5837,6 +5837,17 @@
   <summary>A type of Blink GC.</summary>
 </histogram>
 
+<histogram name="BlinkGC.LowMemoryPageNavigationGC.Reduction" units="MB">
+  <owner>keishi@chromium.org</owner>
+  <summary>
+    Amount of memory reduced with the GC triggered on page navigation while the
+    device is in a low memory state. Only implemented on low end Android devices
+    at the moment. Memory usage is approximated by summing the memory usage of
+    the following allocators: BlinkGC, PartitionAlloc, and V8 main thread
+    isolate heap.
+  </summary>
+</histogram>
+
 <histogram name="BlinkGC.ObjectSizeAfterGC" units="KB">
   <owner>haraken@chromium.org</owner>
   <summary>
@@ -23758,8 +23769,8 @@
   <owner>media-dev@chromium.org</owner>
   <summary>
     Records the output color space of the monitor as reported by Windows.
-    Recorded once for each monitor when the gpu process starts.
-    If monitor enumeration fails, this metric will not be provided.
+    Recorded once for each monitor when the gpu process starts. If monitor
+    enumeration fails, this metric will not be provided.
   </summary>
 </histogram>
 
@@ -23767,9 +23778,9 @@
   <owner>hubbe@chromium.org</owner>
   <owner>media-dev@chromium.org</owner>
   <summary>
-    Records if any connected monitor is HDR capable. Recorded when the gpu process
-    starts. Only recorded on Windows as of M-61.
-    If monitor enumeration fails, this metric will not be provided.
+    Records if any connected monitor is HDR capable. Recorded when the gpu
+    process starts. Only recorded on Windows as of M-61. If monitor enumeration
+    fails, this metric will not be provided.
   </summary>
 </histogram>
 
@@ -23777,9 +23788,9 @@
   <owner>hubbe@chromium.org</owner>
   <owner>media-dev@chromium.org</owner>
   <summary>
-    Records the display maximum lumens as reported by Windows.
-    Recorded once for each monitor when the gpu process starts.
-    If monitor enumeration fails, this metric will not be provided.
+    Records the display maximum lumens as reported by Windows. Recorded once for
+    each monitor when the gpu process starts. If monitor enumeration fails, this
+    metric will not be provided.
   </summary>
 </histogram>
 
@@ -29402,6 +29413,10 @@
 </histogram>
 
 <histogram name="Media.InfoLoadDelay" units="ms">
+  <obsolete>
+    Deprecated June 2017. Found that the MediaInfoLoader class (the only user of
+    this histogram) is no longer used by anyone.
+  </obsolete>
   <owner>qinmin@chromium.org</owner>
   <summary>
     The time it takes to perform redirect tracking and a CORS access check while
diff --git a/tools/perf/page_sets/data/loading_mobile.json b/tools/perf/page_sets/data/loading_mobile.json
index b1059e4..bfda028 100644
--- a/tools/perf/page_sets/data/loading_mobile.json
+++ b/tools/perf/page_sets/data/loading_mobile.json
@@ -1,5 +1,8 @@
 {
     "archives": {
+        "Facebook": {
+            "DEFAULT": "loading_mobile_002.wpr"
+        },
         "http://enquiry.indianrail.gov.in/mntes/MntesServlet?action=MainMenu&subAction=excep&excpType=EC": {
             "DEFAULT": "loading_mobile_000.wpr"
         },
diff --git a/tools/perf/page_sets/data/loading_mobile_002.wpr.sha1 b/tools/perf/page_sets/data/loading_mobile_002.wpr.sha1
new file mode 100644
index 0000000..ecb4104
--- /dev/null
+++ b/tools/perf/page_sets/data/loading_mobile_002.wpr.sha1
@@ -0,0 +1 @@
+9c7c37e0e21f1e76eb4c20bd592eb6d78e68b888
\ No newline at end of file
diff --git a/tools/perf/page_sets/loading_mobile.py b/tools/perf/page_sets/loading_mobile.py
index 5012968..3031073 100644
--- a/tools/perf/page_sets/loading_mobile.py
+++ b/tools/perf/page_sets/loading_mobile.py
@@ -174,6 +174,3 @@
     # self.DisableStory('Detik', [story.expectations.ALL], 'crbug.com/653775')
     # self.DisableStory(
     #     'Blogspot', [story.expectations.ALL], 'crbug.com/653775')
-
-    self.DisableStory('Facebook', [story.expectations.ANDROID_NEXUS7],
-                      'crbug.com/736877')
diff --git a/ui/message_center/views/notification_header_view.cc b/ui/message_center/views/notification_header_view.cc
index 97cdd36..0911609 100644
--- a/ui/message_center/views/notification_header_view.cc
+++ b/ui/message_center/views/notification_header_view.cc
@@ -4,6 +4,8 @@
 
 #include "ui/message_center/views/notification_header_view.h"
 
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/utf_string_conversions.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/gfx/color_palette.h"
 #include "ui/gfx/font_list.h"
@@ -28,6 +30,8 @@
 constexpr gfx::Insets kHeaderPadding(0, 12, 0, 2);
 constexpr int kHeaderHorizontalSpacing = 2;
 constexpr int kAppInfoConatainerTopPadding = 12;
+// Bullet character. The divider symbol between different parts of the header.
+constexpr base::char16 kNotificationHeaderDividerSymbol = 0x2022;
 
 }  // namespace
 
@@ -62,6 +66,23 @@
   app_name_view_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
   app_info_container->AddChildView(app_name_view_);
 
+  // Summary text divider
+  summary_text_divider_ =
+      new views::Label(base::ASCIIToUTF16(" ") +
+                       base::string16(1, kNotificationHeaderDividerSymbol) +
+                       base::ASCIIToUTF16(" "));
+  summary_text_divider_->SetFontList(font_list);
+  summary_text_divider_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+  summary_text_divider_->SetVisible(false);
+  app_info_container->AddChildView(summary_text_divider_);
+
+  // Summary text view
+  summary_text_view_ = new views::Label(base::string16());
+  summary_text_view_->SetFontList(font_list);
+  summary_text_view_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+  summary_text_view_->SetVisible(false);
+  app_info_container->AddChildView(summary_text_view_);
+
   // Expand button view
   expand_button_ = new views::ImageButton(listener);
   expand_button_->SetImage(
@@ -106,6 +127,18 @@
   app_name_view_->SetText(name);
 }
 
+void NotificationHeaderView::SetProgress(int progress) {
+  summary_text_view_->SetText(l10n_util::GetStringFUTF16Int(
+      IDS_MESSAGE_CENTER_NOTIFICATION_PROGRESS_PERCENTAGE, progress));
+  has_summary_text_ = true;
+  UpdateSummaryTextVisibility();
+}
+
+void NotificationHeaderView::ClearProgress() {
+  has_summary_text_ = false;
+  UpdateSummaryTextVisibility();
+}
+
 void NotificationHeaderView::SetExpandButtonEnabled(bool enabled) {
   expand_button_->SetVisible(enabled);
 }
@@ -159,4 +192,10 @@
   Layout();
 }
 
+void NotificationHeaderView::UpdateSummaryTextVisibility() {
+  summary_text_divider_->SetVisible(has_summary_text_);
+  summary_text_view_->SetVisible(has_summary_text_);
+  Layout();
+}
+
 }  // namespace message_center
diff --git a/ui/message_center/views/notification_header_view.h b/ui/message_center/views/notification_header_view.h
index b5fbbc0a..640f6be 100644
--- a/ui/message_center/views/notification_header_view.h
+++ b/ui/message_center/views/notification_header_view.h
@@ -22,11 +22,13 @@
   NotificationHeaderView(views::ButtonListener* listener);
   void SetAppIcon(const gfx::ImageSkia& img);
   void SetAppName(const base::string16& name);
+  void SetProgress(int progress);
   void SetExpandButtonEnabled(bool enabled);
   void SetExpanded(bool expanded);
   void SetSettingsButtonEnabled(bool enabled);
   void SetCloseButtonEnabled(bool enabled);
   void SetControlButtonsVisible(bool visible);
+  void ClearProgress();
   bool IsExpandButtonEnabled();
   bool IsSettingsButtonEnabled();
   bool IsCloseButtonEnabled();
@@ -38,8 +40,11 @@
 
  private:
   void UpdateControlButtonsVisibility();
+  void UpdateSummaryTextVisibility();
 
   views::Label* app_name_view_ = nullptr;
+  views::Label* summary_text_divider_ = nullptr;
+  views::Label* summary_text_view_ = nullptr;
   views::ImageView* app_icon_view_ = nullptr;
   views::ImageButton* expand_button_ = nullptr;
   PaddedButton* settings_button_ = nullptr;
@@ -48,6 +53,7 @@
   bool settings_button_enabled_ = false;
   bool close_button_enabled_ = false;
   bool is_control_buttons_visible_ = false;
+  bool has_summary_text_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(NotificationHeaderView);
 };
diff --git a/ui/message_center/views/notification_view_md.cc b/ui/message_center/views/notification_view_md.cc
index 66e70fd5..2cb5d8b 100644
--- a/ui/message_center/views/notification_view_md.cc
+++ b/ui/message_center/views/notification_view_md.cc
@@ -551,6 +551,7 @@
   if (notification.type() != NOTIFICATION_TYPE_PROGRESS) {
     left_content_->RemoveChildView(progress_bar_view_);
     progress_bar_view_ = nullptr;
+    header_row_->ClearProgress();
     return;
   }
 
@@ -566,6 +567,8 @@
 
   progress_bar_view_->SetValue(notification.progress() / 100.0);
   progress_bar_view_->SetVisible(notification.items().empty());
+
+  header_row_->SetProgress(notification.progress());
 }
 
 void NotificationViewMD::CreateOrUpdateListItemViews(
diff --git a/ui/strings/ui_strings.grd b/ui/strings/ui_strings.grd
index 7fa2afa0..c9af803 100644
--- a/ui/strings/ui_strings.grd
+++ b/ui/strings/ui_strings.grd
@@ -634,6 +634,9 @@
       <message name="IDS_MESSAGE_CENTER_LIST_NOTIFICATION_OVERFLOW_INDICATOR" desc="The overflow indicator shown when a list notification has more list items than visible ones. Should be same as AndroidPlatform msgId 1863231301642314183. (frameworks/base/packages/SystemUI/res/values/strings.xml:notification_group_overflow_indicator)">
         + <ph name="NUMBER">$1<ex>3</ex></ph>
       </message>
+      <message name="IDS_MESSAGE_CENTER_NOTIFICATION_PROGRESS_PERCENTAGE" desc="The summary text in a notification that is shown with progress bar.">
+        <ph name="NUMBER">$1<ex>75</ex></ph> %
+      </message>
       <if expr="not use_titlecase">
         <message name="IDS_MESSAGE_CENTER_QUIET_MODE_BUTTON_TOOLTIP" desc="The tooltip text for the do not disturb button.">
           Do not disturb